hawq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dyozie <...@git.apache.org>
Subject [GitHub] incubator-hawq-docs pull request #124: HAWQ-1435 document new pxf jdbc plug-...
Date Wed, 28 Jun 2017 16:09:46 GMT
Github user dyozie commented on a diff in the pull request:

    --- Diff: markdown/pxf/JdbcPXF.html.md.erb ---
    @@ -0,0 +1,213 @@
    +title: Accessing External SQL Databases with JDBC (Beta)
    +Licensed to the Apache Software Foundation (ASF) under one
    +or more contributor license agreements.  See the NOTICE file
    +distributed with this work for additional information
    +regarding copyright ownership.  The ASF licenses this file
    +to you under the Apache License, Version 2.0 (the
    +"License"); you may not use this file except in compliance
    +with the License.  You may obtain a copy of the License at
    +  http://www.apache.org/licenses/LICENSE-2.0
    +Unless required by applicable law or agreed to in writing,
    +software distributed under the License is distributed on an
    +KIND, either express or implied.  See the License for the
    +specific language governing permissions and limitations
    +under the License.
    +Some of your data may already reside in an external SQL database. The PXF JDBC plug-in
reads data stored in SQL databases including MySQL, ORACLE, PostgreSQL, and Hive.
    +This section describes how to use PXF with JDBC, including an example of creating and
querying an external table that accesses data in a MySQL database table.
    +## <a id="jdbcplugin_prereq"></a>Prerequisites
    +Before accessing external SQL databases using HAWQ and PXF, ensure that:
    +-   The JDBC plug-in is installed on all cluster nodes. See [Installing PXF Plug-ins](InstallPXFPlugins.html)
for PXF plug-in installation information.
    +-   The JDBC driver JAR files for the external SQL database are installed on all cluster
    +-   The file locations of external SQL database JDBC JAR files are added to `pxf-public.classpath`.
If you manage your HAWQ cluster with Ambari, add the JARS via the Ambari UI. If you managed
your cluster from the command line, edit the `/etc/pxf/conf/pxf-public.classpath` file directly.
    +## <a id="hdfsplugin_queryextdata"></a>Querying External SQL Data
    +The PXF JDBC plug-in supports the single profile named `Jdbc`.
    +Use the following syntax to create a HAWQ external table representing external SQL database
tables you access via JDBC: 
    +``` sql
    +    ( <column_name> <data_type> [, ...] | LIKE <other_table> )
    +LOCATION ('pxf://<host>[:<port>]/<jdbc-schema-name>.<jdbc-database-name>.<jdbc-table-name>
    +    ?PROFILE=Jdbc[&<custom-option>=<value>[...]]')
    +FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');
    +JDBC-plug-in-specific keywords and values used in the [CREATE EXTERNAL TABLE](../reference/sql/CREATE-EXTERNAL-TABLE.html)
call are described in the table below.
    +| Keyword  | Value |
    +| \<column-name\>    | The name of the PXF external table column. The PXF \<column-name\>
must exactly match the \<column-name\> used in the external SQL table.|
    +| \<data-type\>    | The data type of the PXF external table column. The PXF \<data-type\>
must be equivalent to the data type used for \<column-name\> in the SQL table.|
    +| \<host\>    | The PXF host. While \<host\> may identify any PXF agent node,
use the HDFS NameNode as it is guaranteed to be available in a running HDFS cluster. If HDFS
High Availability is enabled, \<host\> must identify the HDFS NameService. |
    +| \<port\>    | The PXF port. If \<port\> is omitted, PXF assumes \<host\>
identifies a High Availability HDFS Nameservice and connects to the port number designated
by the `pxf_service_port` server configuration parameter value. Default is 51200. |
    +| \<jdbc-schema-name\>    | The schema name. The default schema name is `default`.
    +| \<jdbc-database-name\>    | The database name. The default database name is determined
by the external SQL server. |
    +| \<jdbc-table-name\>    | The table name. |
    +| PROFILE    | The `PROFILE` keyword must specify `Jdbc`. |
    +| \<custom-option\>  | The custom options supported by the `Jdbc` profile are discussed
later in this section.|
    +| FORMAT 'CUSTOM' | The JDBC `CUSTOM` `FORMAT` supports only the built-in `'pxfwritable_import'`
`FORMATTER` property. |
    +*Note*: When creating PXF external tables, you cannot use the `HEADER` option in your
`FORMAT` specification.
    +### <a id="profile_jdbcoptipns"></a>JDBC Custom Options
    +You may include one or more custom options in the `LOCATION` URI. Preface each option
with an ampersand `&`. 
    +The JDBC plug-in `Jdbc` profile supports the following \<custom-option\>s:
    --- End diff --
    Aren't most of these custom options required in order to setup a JDBC connection?  If
so, docs should just indicate that up-front, as otherwise it seems like these are all optional.

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message