Load Data from JDBC
Ingest from any compatible source using a JDBC driver
Note
This documentation is for a prior release of Kinetica. For the latest documentation, click here.
Ingest from any compatible source using a JDBC driver
Loading data from a JDBC data source can be done in three easy steps:
You will need the corresponding JDBC driver for your data source. Kinetica will use this driver to connect to your data source and initiate the data ingress. You will also need to refer to the JDBC driver documentation of your data source to gather the connection details and write the remote query, as these will vary from vendor to vendor.
To illustrate data ingress from a JDBC data source, let's look at an example that uses PostgreSQL. If you would like to follow along with the examples in this article, you will need:
First, we need to upload the JDBC driver into KiFS. For this tutorial, we will upload the file into a directory in KiFS called drivers and remove the version from the file name. The final file path will be: kifs://drivers/postgresql.jar.
To upload the driver using Kinetica's Workbench UI:
To upload the driver using KiSQL, Kinetica's CLI SQL interface, issue the following commands.
It is assumed that the driver jar is located in the same directory as KiSQL.
|
|
|
|
|
|
Once the driver is uploaded into KiFS, it's time to create a data source. Use the driver documentation to construct the LOCATION string. Refer to the Loading the Driver and the Connecting to the Database pages to find JDBC_DRIVER_CLASS_NAME and the connection details respectively.
Note
Kinetica's native JDBC ingress differs from other native ingress modes in that you do not need to first create a credential. Authentication parameters can be passed directly into the data source at the time of creation.
|
|
Now that we have created a data source, let's ingest the data. The query specified in the REMOTE QUERY statement will be executed on the data source and it defines the data that Kinetica will receive in return.
|
|
To load only the rows that satisfy a condition, you can use a WHERE clause in the REMOTE QUERY like this:
|
|
The following are some common options used when loading data. For the full list of options, see LOAD INTO. For copy/paste examples of many of the options, see Loading Data.
Kinetica has two different error handling modes for dealing with erroneous data. To halt ingestion after a bad record is found, use the ABORT mode. To skip erroneous records and continue the ingest, use the SKIP mode.
To inspect erroneous records, you may use the BAD RECORD TABLE NAME option. All bad records encountered will be stored there for review. The bad records table is limited to 10,000 records by default and may be overridden using the BAD RECORD TABLE LIMIT option.
|
|
|
|