Establishing a Connection
Creating a JDBC Data Source
You can create a JDBC data source to connect from your Java application, based on CData JDBC Driver for Apache Phoenix.Follow these steps:
- Add the driver JAR file to the classpath. The JAR file is located in the installation directory's lib subfolder. Ensure that the .lic file is located in the same folder as the JAR file.
- Provide the driver class. For example:
cdata.jdbc.apachephoenix.ApachePhoenixDriver
- Provide the JDBC URL. For example:
jdbc:apachephoenix:URL=http://localhost:8765;
Or, if there is a conflict in your application between drivers using the same URL format, use this form to ensure that you are using the CData driver:
jdbc:cdata:apachephoenix:URL=http://localhost:8765;
Ensure that the URL starts with either jdbc:apachephoenix: or jdbc:cdata:apachephoenix:. The URL can include any of the connection properties in name-value pairs separated with semicolons.
Connecting to Apache Phoenix
The CData JDBC Driver for Apache Phoenix connects to Apache Phoenix via the Phoenix Query Server. Set the URL connection property to connect to Apache Phoenix.
The URL property will typically be the host name or IP address of the server hosting Apache Phoenix followed by the port, for example: http://localhost:8765.
Authenticating to Apache Phoenix
By default, no authentication will be used (plain). If authentication is configured for your server, you can configure one of the following authentication methods.
Basic
If your instance of Apache Phoenix has set up the basic authentication layer, set the following to authenticate:
- AuthScheme: Set this to Basic.
- User: Set this to the user of your Apache Phoenix instance.
- Password: Set this to the password of your Apache Phoenix instance.
Azure HDInsight
To authenticate to Azure HDInsight, set the following:
- AuthScheme: Set this to AzureHDInsight.
- User: Set this to the cluster username that you specified when creating the cluster on Azure HDInsight.
- Password: Set this to the cluster password that you specified when creating the cluster on Azure HDInsight.
- ClusterName: Set this to the name of the cluster containing your Azure HDInsight instance.
All calls are sent to a gateway which picks one of the nodes to handle the request. Accessing the specific nodes is possible if you are running within the internal virtual network of the cluster.
Kerberos
Set the AuthScheme to Negotiate. See Using Kerberos for details on how to authenticate with Kerberos.