- Create a data source: Create a data source that holds JDBC connection information.
- Ingest the data: Load data from your data source over JDBC using a remote query.
Before You Begin
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:- A running instance of PostgreSQL
- A schema and table name in your PostgreSQL database, from which we will load
the data. For this tutorial we will be loading data from
pg_catalog.pg_tables.
Create Data Source
Kinetica provides many service provider JDBC drivers in a default installation. Drivers not on the supported list can be uploaded manually. Since the PostgreSQL driver is already available in Kinetica, it’s time to create a data source. Use the PostgreSQL connection string on the JDBC driver list and the linked documentation to construct a connection string for theLOCATION.
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.
Create Data Source
Ingest Data
Now that we have created a data source, let’s ingest the data. The query specified in theREMOTE QUERY statement will be executed on the
data source and it defines the data that Kinetica will receive in return.
Load Data from JDBC Data Source
WHERE clause in
the REMOTE QUERY like this:
Load Data from JDBC Data Source with Filter
Considerations
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.Error Handling
Kinetica has two different error handling modes for dealing with erroneous data. To halt ingestion after a bad record is found, use theABORT 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.
Uploading a JDBC Driver
If the service you need to connect to is not on Kinetica’s supported list, you will need to upload a driver for that service into KiFS before creating a data source. For these instructions, we will upload a custom PostgreSQL driver into a directory in KiFS calleddrivers and remove the version from the file
name. The final file path will be: kifs://drivers/postgresql.jar. When
creating a data source with a user-provided driver, this KiFS path will be
specified for the JDBC_DRIVER_JAR_PATH option. Consult the service’s
documentation for the JDBC class name to specify for the
JDBC_DRIVER_CLASS_NAME option.
Kinetica Workbench
To upload the driver using Kinetica’s Workbench UI:- Open the Files tab of the Workbench Explorer.
- Press + > Upload New File to open the drag-and-drop interface.
- Browse to and select the JAR file to upload, or click Cancel to close the dialog and then drag the driver JAR file into the Drag & Drop area.
- Enter
driversfor the Folder name. - Enter
postgresql.jarin the File name override box. - Click Upload to upload the file.
- Click Close to close the dialog.
KiSQL
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.Connect to Kinetica with KiSQL
Create a Directory in KiFS
Upload the Driver