Introduction

You can connect to your Amazon Neptune data from Talend Studio via the high-performance Amazon Neptune ODBC Driver (powered by ZappySys JDBC-ODBC Bridge Driver). We'll walk you through the entire setup.

Let's not waste time and get started!

Prerequisites

Before we begin, make sure you meet the following prerequisite: Java Runtime Environment (JRE) or Java Development Kit (JDK) must be installed on your system.

If your JDBC Driver targets a different Java version (e.g., 11 / 17 / 21), install the corresponding or newer Java version.

If you already have a JRE installed, you can try using it too. However, if you experience any issues, we recommend using one of the distributions mentioned above (you can install an additional JRE next to the existing one; just don't forget to configure the default Java in the Windows Environment Variables).

Download Amazon Neptune JDBC driver

To connect to Amazon Neptune, you will have to download JDBC driver for it, which we will use in later steps. Let's perform these little steps right away:

  1. Visit Amazon Neptune website or MVN Repository.

  2. Select the appropriate JDBC driver version in Latest Versions section in MVN Repository:

    Select JDBC driver version in MVN Repository
  3. Download the JDBC driver, and save it locally, e.g. to C:\ZappySys\Jdbc\Amazon Neptune\amazon-neptune-jdbc-driver-3.0.3-all.jar.

    Download JDBC driver JAR file in MVN Repository
  4. Done! That was easy, wasn't it? Let's proceed to the next step.

Create data source in ZappySys Data Gateway

In this section we will create a data source for Amazon Neptune in the Data Gateway. Let's follow these steps to accomplish that:

  1. Download and install ODBC PowerPack (if you haven't already).

  2. Search for gateway in the Windows Start Menu and open ZappySys Data Gateway Configuration:

    Open ZappySys Data Gateway Service Manager
  3. Go to the Users tab and follow these steps to add a Data Gateway user:

    • Click the Add button
    • In the Login field enter a username, e.g., john
    • Then enter a Password
    • Check the Is Administrator checkbox
    • Click OK to save
    Data Gateway - Add User
  4. Now we are ready to add a data source:

    • Click the Add button
    • Give the Data source a name (have it handy for later)
    • Then select Native - ZappySys JDBC Bridge Driver
    • Finally, click OK
    AmazonNeptuneDSN
    ZappySys JDBC Bridge Driver
    Data Gateway - Add data source
  5. Now, we need to configure the JDBC connection in the new ODBC data source. Simply enter the Connection string, credentials, configure other settings, and then click Test Connection button to test the connection:

    AmazonNeptuneDSN
    jdbc:neptune:sqlgremlin://hostname;port=8182;authScheme=None;enableSsl=true
    software.amazon.neptune.jdbc.NeptuneDriver
    C:\ZappySys\Jdbc\Amazon Neptune\amazon-neptune-jdbc-driver-3.0.3-all.jar
    optional for Amazon Neptune
    optional for Amazon Neptune
    optional for Amazon Neptune
    JDBC-ODBC Bridge driver data source settings

    For None (no IAM), use these values when setting parameters:

    • Connection string: jdbc:neptune:sqlgremlin://hostname;port=8182;authScheme=None;enableSsl=true
    • Driver class: software.amazon.neptune.jdbc.NeptuneDriver
    • JDBC driver file(s): C:\ZappySys\Jdbc\Amazon Neptune\amazon-neptune-jdbc-driver-3.0.3-all.jar
    • User name:
    • Password:

      Amazon Neptune JDBC (SQL-Gremlin) from Power BI, SQL Server Linked Server via ZappySys Data Gateway, Crystal Reports, SSRS, Azure Data Factory, and other ODBC tools. Neptune is VPC-only. Use this Auth when IAM DB authentication is off, or when you already opened an SSH tunnel to port 8182.

      1. Confirm the cluster endpoint in the Neptune console (not a public hostname). Default port is 8182.
      2. From outside the VPC, open an SSH tunnel through a bastion in the same VPC, or run JDBC Bridge on an EC2 host that can reach the cluster.
      3. Enable SSL on the cluster. After Finish, replace the hostname on the DSN Main UI. Keep authScheme=None for this profile.
      4. Prefer SQL-Gremlin (jdbc:neptune:sqlgremlin://) for Power BI and other ODBC tools. Gremlin / openCypher / SPARQL URLs are for graph-native clients.
      5. Finish the wizard. Then click Test Connection on the DSN Main UI (the wizard does not run Test Connection).
      6. Done. You can query from C#, Python, PowerShell, and ODBC apps.

    For IAM SigV4, use these values when setting parameters:

    • Connection string: jdbc:neptune:sqlgremlin://hostname;port=8182;authScheme=IAMSigV4;enableSsl=true;serviceRegion=us-east-1
    • Driver class: software.amazon.neptune.jdbc.NeptuneDriver
    • JDBC driver file(s): C:\ZappySys\Jdbc\Amazon Neptune\amazon-neptune-jdbc-driver-3.0.3-all.jar
    • Access key ID:
    • Secret access key:
    • Service region: us-east-1

      IAM SigV4 for Neptune JDBC. SSL is required. Create IAM access keys in the console (same idea as a Stripe secret key), or rely on the default credential chain on an EC2 instance / role.

      1. Sign in to the IAM console.
      2. Create (or reuse) an IAM user or role with Neptune connect/query permissions. Do not use a personal employee login for unattended Linked Server or Power BI refresh.
      3. Open Security credentials and create an access key. Copy Access key ID into User name and Secret access key into Password. Alternatively leave them empty and use an instance profile / AWS_PROFILE.
      4. Set Service region to the cluster region (for example us-east-1). Keep enableSsl=true.
      5. Neptune has no public endpoint. After Finish, replace the hostname (and SSH-tunnel port if you forwarded 8182 locally).
      6. Finish the wizard. Then click Test Connection on the DSN Main UI (the wizard does not run Test Connection).
      7. Done. You can query from C#, Python, PowerShell, and ODBC apps.

  6. You should see a message saying that connection test is successful:

    ODBC connection test is successful
  7. Otherwise, if you are getting an error, start by troubleshooting the JDBC connection with DBeaver in the section below:

    Jump to troubleshooter

  8. We are at the point where we can preview a SQL query. For more SQL query examples visit JDBC Bridge documentation:

    AmazonNeptuneDSN
    SELECT * FROM country
    JDBC ODBC Bridge data source preview
    SELECT * FROM country
    You can also click on the <Select Table> dropdown and select a table from the list.

    The ZappySys JDBC Bridge Driver acts as a transparent intermediary, passing SQL queries directly to the JDBC driver, which then handles the query execution. This means the JDBC-ODBC Bridge Driver simply relays the SQL query without altering it.

    Some JDBC drivers don't support INSERT/UPDATE/DELETE statements, so you may get an error saying "action is not supported" or a similar one. Please, be aware, this is not the limitation of ZappySys JDBC Bridge Driver, but is a limitation of the specific JDBC driver you are using.

  9. Click OK to finish creating the data source.

  10. Once done, go to the Network Settings tab and Add a firewall rule for inbound traffic:

    Data Gateway - Add firewall rule for inbound connections
    • This will initially allow all inbound traffic.
    • Click Edit IP filters to restrict access to specific IP addresses or ranges.
  11. Crucial Step: After creating or modifying the data source, you must:

    • Click the Save button to persist your changes.
    • Hit Yes when prompted to restart the Data Gateway service.

    This ensures all changes are properly applied:

    ZappySys Data Gateway - Save Changes
    Skipping this step may cause the new settings to fail, preventing you from connecting to the data source.

Read Amazon Neptune data in Talend Studio

To read Amazon Neptune data in Talend Studio, we'll need to complete several steps. Let's get through them all right away!

This article is compatible with Talend Open Studio (a free version, currently retired by Qlik). If you don't have it, you can still purchase a shareware version of Talend Studio from Qlik.

Create connection for input

  1. First of all, open Talend Studio
  2. Create a new connection: Creating a new connection in Talend Studio
  3. Select Microsoft SQL Server connection: Creating SQL Server connection in Talend Studio
  4. Name your connection: Naming a connection in Talend Studio
  5. Fill-in connection parameters and then click Test connection:
    AmazonNeptuneDSN
    Configuring the ZappySys Data Gateway connection in Talend Studio
  6. If the List of modules not installed for this operation window shows up, then download and install all of them: Configure the connection
    Review and accept all additional module license agreements during the process
  7. Finally, you should see a successful connection test result at the end: Connection test successful

Add input

  1. Once we have a connection to ZappySys Data Gateway created, we can proceed by creating a job:

    Create a job in Talend Studio
  2. Simply drag and drop ZappySys Data Gateway connection onto the job:

    Creating an input based on ZappySys Data Gateway connection
  3. Then create an input based on ZappySys Data Gateway connection:

    Creating an input based on ZappySys Data Gateway connection
  4. Continue by configuring a SQL query and click Guess schema button:

    Configuring a SQL query in Talend Studio
  5. Finish by configuring the schema, for example:

    Configuring a schema in Talend Studio

Add output

We are ready to add an output. From Palette drag and drop a tFileOutputDelimited output and connect it to the input: Connecting tFileOutputDelimited output in Talend Studio

Run the job

Finally, run the job and integrate your Amazon Neptune data: Integrating Amazon Neptune data in Talend Studio

Troubleshooting

Validating JDBC connection in DBeaver

If you are experiencing JDBC connection issues, start by testing your JDBC driver in a JDBC client tool like DBeaver. If the JDBC connection fails in DBeaver, it naturally will not work in your ODBC data source either.

Create generic JDBC driver

  1. Download and install DBeaver Community Edition.

  2. Open DBeaver.

  3. Click Database in the top menu and select Driver Manager:

    Open Driver Manager in DBeaver
  4. Click the New button to start adding a custom JDBC driver:

    Start adding new JDBC driver in DBeaver
  5. Configure the connection settings by entering the Driver Name and Class Name (software.amazon.neptune.jdbc.NeptuneDriver):

    Configure JDBC driver connection settings
    software.amazon.neptune.jdbc.NeptuneDriver
  6. Go to the Libraries tab, click Add File, and select your Amazon Neptune driver library file(s), e.g. C:\ZappySys\Jdbc\Amazon Neptune\amazon-neptune-jdbc-driver-3.0.3-all.jar:

    Add JAR library to JDBC driver
    Make sure to add all the required library dependencies.
  7. Your JDBC driver jar library is now added:

    JAR library added
    C:\ZappySys\Jdbc\Amazon Neptune\amazon-neptune-jdbc-driver-3.0.3-all.jar
  8. (Optional). If required by your JDBC driver, add additional properties by going to the Default properties tab, Right-clicking on the background, and selecting Add new property:

    Add new property
  9. Click on a value to modify it, then click OK to finish:

    Set property value

We are now ready to test the connection. Let's proceed!

Test connection

  1. Click the New Database Connection icon in the toolbar:

    Create new database connection in DBeaver
  2. Select your newly created JDBC driver from the list and click Next:

    Select custom JDBC driver
  3. Enter your JDBC URL (e.g. jdbc:neptune:sqlgremlin://hostname;port=8182;authScheme=None;enableSsl=true), click Test Connection to verify it works, and then click Finish:

    Configure and test JDBC connection
    jdbc:neptune:sqlgremlin://hostname;port=8182;authScheme=None;enableSsl=true
  4. Finally, expand the database and table list to check the connection status:

    Confirm connection success

There are two possible outcomes from the connection test:

SUCCESS
  • Reason:
    The JDBC driver works perfectly, meaning the issue lies within your ODBC data source configuration.
  • Action:
    Double-check your ODBC data source configuration and ensure it matches the settings that successfully connected in DBeaver.
FAILURE
  • Reason:
    There is likely an issue with the JDBC driver configuration or the connection details provided.
  • Action:
    Contact the ZappySys Support Team for assistance.

If you are still experiencing issues or need further help, please contact us:

Chat with an Expert

Frequent issues and solutions

Below are some useful community articles to help you troubleshoot and configure the ZappySys JDBC Bridge Driver:

Conclusion

In this guide, we demonstrated how to connect to Amazon Neptune in Talend Studio and integrate your data — all without writing complex code. It's worth noting that ZappySys JDBC Bridge Driver allows you to connect not only to Amazon Neptune, but to any Java application that supports JDBC (just use a different JDBC driver and configure it appropriately).

Ready to get started? Download ODBC PowerPack now or ping us via chat if you still need help: