LogoLogo
  • Welcome to e6data
  • Introduction to e6data
    • Concepts
    • Architecture
      • e6data in VPC Deployment Model
      • Connect to e6data serverless compute
  • Get Started
  • Sign Up
  • Setup
    • AWS Setup
      • In VPC Deployment (AWS)
        • Prerequisite Infrastructure
        • Infrastructure & Permissions for e6data
        • Setup Kubernetes Components
        • Setup using Terraform in AWS
          • Update a AWS Terraform for your Workspace
        • AWS PrivateLink and e6data
        • VPC Peering | e6data on AWS
      • Connect to e6data serverless compute (AWS)
        • Workspace Creation
        • Catalog Creation
          • Glue Metastore
          • Hive Metastore
          • Unity Catalog
        • Cluster Creation
    • GCP Setup
      • In VPC Deployment (GCP)
        • Prerequisite Infrastructure
        • Infrastructure & Permissions for e6data
        • Setup Kubernetes Components
        • Setup using Terraform in GCP
        • Update a GCP Terraform for your Workspace
      • Connect to e6data serverless compute (GCP)
    • Azure Setup
      • Prerequisite Infrastructure
      • Infrastructure & Permissions for e6data
      • Setup Kubernetes Components
      • Setup using Terraform in AZURE
        • Update a AZURE Terraform for your Workspace
  • Workspaces
    • Create Workspaces
    • Enable/Disable Workspaces
    • Update a Workspace
    • Delete a Workspace
  • Catalogs
    • Create Catalogs
      • Hive Metastore
        • Connect to a Hive Metastore
        • Edit a Hive Metastore Connection
        • Delete a Hive Metastore Connection
      • Glue Metastore
        • Connect to a Glue Metastore
        • Edit a Glue Metastore Connection
        • Delete a Glue Metastore Connection
      • Unity Catalog
        • Connect to Unity Catalog
        • Edit Unity Catalog
        • Delete Unity Catalog
      • Cross-account Catalog Access
        • Configure Cross-account Catalog to Access AWS Hive Metastore
        • Configure Cross-account Catalog to Access Unity Catalog
        • Configure Cross-account Catalog to Access AWS Glue
        • Configure Cross-account Catalog to Access GCP Hive Metastore
    • Manage Catalogs
    • Privileges
      • Access Control
      • Column Masking
      • Row Filter
  • Clusters
    • Edit & Delete Clusters
    • Suspend & Resume Clusters
    • Cluster Size
    • Load Based Sizing
    • Auto Suspension
    • Query Timeout
    • Monitoring
    • Connection Info
  • Pools
    • Delete Pools
  • Query Editor
    • Editor Pane
    • Results Pane
    • Schema Explorer
    • Data Preview
  • Notebook
    • Editor Pane
    • Results Pane
    • Schema Explorer
    • Data Preview
  • Query History
    • Query Count API
  • Connectivity
    • IP Sets
    • Endpoints
    • Cloud Resources
    • Network Firewall
  • Access Control
    • Users
    • Groups
    • Roles
      • Permissions
      • Policies
    • Single Sign-On (SSO)
      • AWS SSO
      • Okta
      • Microsoft My Apps-SSO
      • Icons for IdP
    • Service Accounts
    • Multi-Factor Authentication (Beta)
  • Usage and Cost Management
  • Audit Log
  • User Settings
    • Profile
    • Personal Access Tokens (PAT)
  • Advanced Features
    • Cross-Catalog & Cross-Schema Querying
  • Supported Data Types
  • SQL Command Reference
    • Query Syntax
      • General functions
    • Aggregate Functions
    • Mathematical Functions & Operators
      • Arithematic Operators
      • Rounding and Truncation Functions
      • Exponential and Root Functions
      • Trigonometric Functions
      • Logarithmic Functions
    • String Functions
    • Date-Time Functions
      • Constant Functions
      • Conversion Functions
      • Date Truncate Function
      • Addition and Subtraction Functions
      • Extraction Functions
      • Format Functions
      • Timezone Functions
    • Conditional Expressions
    • Conversion Functions
    • Window Functions
    • Comparison Operators & Functions
    • Logical Operators
    • Statistical Functions
    • Bitwise Functions
    • Array Functions
    • Regular Expression Functions
    • Generate Functions
    • Cardinality Estimation Functions
    • JSON Functions
    • Checksum Functions
    • Unload Function (Copy into)
    • Struct Functions
  • Equivalent Functions & Operators
  • Connectors & Drivers
    • DBeaver
    • DbVisualiser
    • Apache Superset
    • Jupyter Notebook
    • Tableau Cloud
    • Tableau Desktop
    • Power BI
    • Metabase
    • Zeppelin
    • Python Connector
      • Code Samples
    • JDBC Driver
      • Code Samples
      • API Support
    • Configure Cluster Ingress
      • ALB Ingress in Kubernetes
      • GCE Ingress in Kubernetes
      • Ingress-Nginx in Kubernetes
  • Security & Trust
    • Best Practices
      • AWS Best Practices
    • Features & Responsibilities Matrix
    • Data Protection Addendum(DPA)
  • Tutorials and Best Practices
    • How to configure HIVE metastore if you don't have one?
    • How-To Videos
  • Known Limitations
    • SQL Limitations
    • Other Limitations
    • Restart Triggers
    • Cloud Provider Limitations
  • Error Codes
    • General Errors
    • User Account Errors
    • Workspace Errors
    • Catalog Errors
    • Cluster Errors
    • Data Governance Errors
    • Query History Errors
    • Query Editor Errors
    • Pool Errors
    • Connectivity Errors
  • Terms & Condition
  • Privacy Policy
    • Cookie Policy
  • FAQs
    • Workspace Setup
    • Security
    • Catalog Privileges
  • Services Utilised for e6data Deployment
    • AWS supported regions
    • GCP supported regions
    • AZURE supported regions
  • Release Notes & Updates
    • 6th Sept 2024
    • 6th June 2024
    • 18th April 2024
    • 9th April 2024
    • 30th March 2024
    • 16th March 2024
    • 14th March 2024
    • 12th March 2024
    • 2nd March 2024
    • 10th February 2024
    • 3rd February 2024
    • 17th January 2024
    • 9th January 2024
    • 3rd January 2024
    • 18th December 2023
    • 12th December 2023
    • 9th December 2023
    • 4th December 2023
    • 27th November 2023
    • 8th September 2023
    • 4th September 2023
    • 26th August 2023
    • 21st August 2023
    • 19th July 2023
    • 23rd May 2023
    • 5th May 2023
    • 28th April 2023
    • 19th April 2023
    • 15th April 2023
    • 10th April 2023
    • 30th March 2023
Powered by GitBook
On this page
  • Prerequisites
  • Supported Authentication Methods
  • Download JDBC Driver
  • Configuring the JDBC Driver
  • Connection URL
  • JDBC Driver Class name
  • Connection Parameters
  • Known Limitations
  1. Connectors & Drivers

JDBC Driver

Connect to databases using the Java Database Connectivity (JDBC) standard.

PreviousCode SamplesNextCode Samples

Last updated 5 months ago

The e6data JDBC driver requires Java LTS (Long-Term Support) versions 1.8 (Java 8) or higher. If the minimum required version of Java is not installed on the client machines where the JDBC driver is installed, either Oracle Java or OpenJDK should be installed.

Prerequisites

  • Java 8 or;

    • Oracle Java

      Oracle Java currently supports Java 8. For download and installation instructions, visit the .

    • OpenJDK

      OpenJDK is an open-source implementation of Java that provides JDK 8 packages for various Linux environments. Packages for non-Linux environments or higher Java versions are only available through 3rd parties. For more information, visit the .

  • Enable Ingress to the cluster by:

    • from the e6data Console

  • Generate a Personal Access Token (PAT)

    • A cluster restart is required each time a new PAT is created.

Supported Authentication Methods

  • Use a Username and Personal Access Token (PAT). To generate a PAT, see Personal Access Tokens.

Download JDBC Driver

E6Data JDBC Driver

Configuring the JDBC Driver

Connection URL

Get the cluster address from Clusters > Select Target Cluster > Connector

The e6data JDBC connection URL follows the below format:

jdbc:e6data://<HOSTNAME>:<PORT>/database=<DATABASE>&catalog=<CATALOG_NAME>&secure=true&cluster-uuid=<CLUSTER UUID>

Example:

jdbc:e6data://123.123.123.123:443/database=tpcds_1tb&catalog=glue&secure=true&cluster-uuid=abcde

JDBC Driver Class name

io.e6.jdbc.driver.E6Driver

Connection Parameters

The driver supports various parameters that may be set as URL parameters, or as properties passed to DriverManager.

Example:

Properties properties = new Properties();
properties.put("user", ""); // copy the username from e6data cluster connection info page in the e6data console
properties.put("password", ""); // password is the Personal Access Token (PAT) generated in the e6data cluster connector tab

// e6data connection url
String connectStr = "jdbc:e6data://<HOSTNAME>:<PORT>/database=<DATABASE>&catalog=<CATALOG_NAME>&secure=true&cluster-uuid=<CLUSTER UUID>";
Connection connection = DriverManager.getConnection(connectStr, properties);
  • <HOSTNAME>

    • Get the hostname from Clusters > Select Target Cluster > Connector

  • <PORT>

    • Get the hostname from Clusters > Select Target Cluster > Connector

  • <CATALOG_NAME>

    • The choice of catalog name could be—"Glue," "Hive," or "Unity"—depending on the specific catalog you are utilizing.

  • As an alternative, rather than specifying these parameters in the connection string, you can set these parameters in a Properties object that you pass to the DriverManager.getConnectionIO method.

Properties properties = new Properties();
properties.put("user", ""); // copy the username from e6data cluster connection info page in the e6data console
properties.put("password", ""); // password is the Personal Access Token (PAT) generated in the e6data cluster connector tab
// e6data connection url
String connectStr = "jdbc:e6data://<HOSTNAME>:<PORT>/database=<DATABASE>&catalog=<CATALOG_NAME>&secure=true&cluster-uuid=<CLUSTER UUID>";
Connection connection = DriverManager.getConnection(connectStr, properties);
  • IDLE_TIMEOUT

    • Set this parameter to prevent long-running queries by automatically aborting a query after a set interval.

  • connectionTimeout

    • If the JDBC connector is taking a long time to connect, a connection timeout can be added using this parameter.

Known Limitations

  • Streaming Features/Capabilities Not Supported:

    • InputStream, getAsciiStream, and similar streaming features are not supported by the JDBC driver.

  • SQL Warning-Related Operations Not Supported:

    • Operations such as clearWarnings are not supported by the driver.

  • Cursor Movements Not Supported:

    • Cursor movement operations like isFirst, isLast, isAfterLast, etc., are not supported.

  • DML Operations Not Supported:

    • DML (Data Manipulation Language) operations like updateString, updateBytes, commit, etc., are not supported.

  • Callable Statements Not Supported:

    • Callable statement-related operations like prepareCall and getFunctions are not supported.

  • Retrieving Database Information:

    • Methods for retrieving database version information such as getDatabaseMinorVersion and getDatabaseMajorVersion are not supported.

  • No Filtering of Columns Based on Column Pattern:

    • The getColumns method in DatabaseMetaData does not support column filtering based on patterns.

  • Struct and Array Columns:

    • The getColumns method in DatabaseMetaData won't support struct and Array columns.

  • Timestamp Query Timezone Requirement:

    • When setting timestamps in queries, the timezone must be in UTC.

Maven JDBC repo link :

Oracle Java website
OpenJDK website
Enabling cluster connectivity
Manually configuring ingress
Maven Repository: com.e6data » e6-jdbc-driver » 1.1.57