Establishing a Connection
Creating a JDBC Data Source
You can create a JDBC data source to connect from your Java application. Creating a JDBC data source based on the CData JDBC Driver for Apache Phoenix consists of three basic steps:
- Add the driver JAR file to the classpath. The JAR file is located in the lib subfolder of the installation directory. Note that the .lic file must be 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 jdbc:cdata:apachephoenix:URL=http://localhost:8765;
The second format above can be used whenever there is a conflict in your application between drivers using the same URL format to ensure you are using the CData driver. The URL must start with either "jdbc:apachephoenix:" or "jdbc:cdata:apachephoenix:" and 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.