CREATE DATA SOURCE Syntax
A data source can also supply the object store connection used by
a data lake catalog, in which case the
individual data files are identified by the catalog rather than named in
the referencing statement.
The data source will be validated upon creation, by default, and
will fail to be created if an authorized connection cannot be established.
- Azure (Microsoft blob storage)
- GCS (Google Cloud Storage)
- HDFS (Apache Hadoop Distributed File System)
- JDBC (Java Database Connectivity, using a user-supplied driver or one of the drivers on the supported list)
-
Kafka (streaming feed)
- Apache
- Confluent
- S3 (Amazon S3 Bucket)
- Azure anonymous data sources are only supported when both the container and the contained objects allow anonymous access.
- HDFS systems with wire encryption are not supported.
- Confluent & Kafka data sources require an associated credential for authentication.
Parameters
OR REPLACE
OR REPLACE
Any existing data source with the same name will be dropped before creating this one
EXTERNAL
EXTERNAL
Optional keyword for clarity
<schema name>
<schema name>
Name of the schema that will contain the created data source; if no schema is specified,
the data source will be created in the user’s default schema
<data source name>
<data source name>
Name of the data source to create; must adhere to the supported
naming criteria
<provider>
<provider>
Provider of the data sourceSupported providers include:
| Provider | Description |
|---|---|
AZURE | Microsoft Azure blob storage |
CONFLUENT | Confluent Kafka streaming feed The LOCATION can be a comma-delimited list of Kafka URLs, to be used for high-availability; only one of which will be streamed from at any given time. |
GCS | Google Cloud Storage |
HDFS | Apache Hadoop Distributed File System |
JDBC | JDBC connection, where LOCATION is the JDBC URL. See the supported list for the full list of supported drivers, or specify one with JDBC_DRIVER_JAR_PATH and JDBC_DRIVER_CLASS_NAME. |
KAFKA | Apache Kafka streaming feed The LOCATION can be a comma-delimited list of Kafka URLs, to be used for high-availability; only one of which will be streamed from at any given time. |
S3 | Amazon S3 bucket |
<host>
<host>
Host to use to connect to the data source; the following providers have a default host, if
host is left blank:| Provider | Default Host |
|---|---|
| Azure | <storage_account_name>.blob.core.windows.net |
| GCS | storage.googleapis.com |
| S3 | <region>.amazonaws.com |
<port>
<port>
Port, for HDFS or Kafka, to use to connect to the data source
USER
USER
Optional user name, given in
<username>, to use for authenticating to the
data sourcePASSWORD
PASSWORD
Optional password, given in
<password>, to use for authenticating to the
data sourceWITH OPTIONS
WITH OPTIONS
Optional indicator that a comma-delimited list of connection option/value assignments will
follow. See Options for the full list of options.
Examples
To create a data source,kin_ds, that connects to an Amazon S3 bucket,
kinetica_ds, in the US East (N. Virginia) region:
CREATE DATA SOURCE Example
Options
CREDENTIAL
CREDENTIAL
Provider: AnyCredential object to
use to authenticate to the remote system
VALIDATE
VALIDATE
Provider: AnyWhether to test the connection to the data source upon
creation; if
TRUE (default), the creation of a
data source that cannot be connected to will fail; if
FALSE, the data source will be created regardless
of connectivityWAIT TIMEOUT
WAIT TIMEOUT
Provider: Any except
JDBCTimeout in seconds for reading from the storage providerUSE_MANAGED_CREDENTIALS
USE_MANAGED_CREDENTIALS
Provider:
AZURE, GCS, S3Whether to connect to the storage provider with provider-managed
credentials| Provider | Notes |
|---|---|
AZURE | Use the Azure Instance Metadata Service (IMDS) endpoint local to the Kinetica cluster to acquire credentials (only for on-prem clusters deployed within Azure) |
GCS | Satisfy the Application Default Credentials requirements for credentials, making sure any supporting server-side configuration (files, environment variables) is done on every node in the cluster (only for on-prem clusters deployed within GCS) |
S3 | Use the AWS Default Credential Provider Chain to acquire credentials, making sure any supporting server-side configuration (files, environment variables) is done on every node in the cluster (only for on-prem clusters deployed within S3) |
CONNECTION TIMEOUT
CONNECTION TIMEOUT
Provider:
HDFS, S3Timeout in seconds for connecting to a given storage providerCONTAINER NAME
CONTAINER NAME
Provider:
AZUREAzure storage container nameSAS TOKEN
SAS TOKEN
Provider:
AZUREAzure storage account shared access signature token; this should be
an account-level access token, not a container-level oneSTORAGE ACCOUNT NAME
STORAGE ACCOUNT NAME
Provider:
AZUREAzure storage account name (only used if
TENANT ID is specified)TENANT ID
TENANT ID
Provider:
AZUREAzure Active Directory tenant identifierGCS_BUCKET_NAME
GCS_BUCKET_NAME
Provider:
GCSName of the GCS bucket to use as the data sourceGCS_PROJECT_ID
GCS_PROJECT_ID
Provider:
GCSName of the Google Cloud project to use for request billingGCS_SERVICE_ACCOUNT_KEYS
GCS_SERVICE_ACCOUNT_KEYS
Provider:
GCSText of the JSON key file containing the GCS private keyDELEGATION TOKEN
DELEGATION TOKEN
Provider:
HDFSOptional Kerberos delegation token for worker nodes;
if not specified, the token will be acquired from HDFSKERBEROS KEYTAB
KERBEROS KEYTAB
Provider:
HDFSLocation of the Kerberos keytab file in KiFSUSE KERBEROS
USE KERBEROS
Provider:
HDFSWhether to attempt Kerberos authentication to HDFSJDBC_DRIVER_CLASS_NAME
JDBC_DRIVER_CLASS_NAME
Provider:
JDBCJDBC driver class name (optional, if the name is available in the
JAR file’s manifest)JDBC_DRIVER_JAR_PATH
JDBC_DRIVER_JAR_PATH
Provider:
JDBCKiFS path of the JDBC driver JAR file to useKAFKA_TOPIC_NAME
KAFKA_TOPIC_NAME
Provider:
KAFKA, CONFLUENTKafka topic to accessSCHEMA_REGISTRY_CREDENTIAL
SCHEMA_REGISTRY_CREDENTIAL
Provider:
KAFKA, CONFLUENTCredential object to use to
authenticate to the Confluent Schema RegistrySCHEMA_REGISTRY_LOCATION
SCHEMA_REGISTRY_LOCATION
Provider:
KAFKA, CONFLUENTLocation of the Confluent Schema Registry in format:SCHEMA_REGISTRY_PORT
SCHEMA_REGISTRY_PORT
Provider:
KAFKA, CONFLUENTPort of the Confluent Schema RegistryBUCKET NAME
BUCKET NAME
Provider:
S3Amazon S3 bucket nameREGION
REGION
Provider:
S3Amazon S3 region identifierS3_AWS_ROLE_ARN
S3_AWS_ROLE_ARN
Provider:
S3Amazon Resource Name (ARN) specifying the roleS3_ENCRYPTION_CUSTOMER_ALGORITHM
S3_ENCRYPTION_CUSTOMER_ALGORITHM
Provider:
S3Algorithm used to encrypt/decrypt dataS3_ENCRYPTION_CUSTOMER_KEY
S3_ENCRYPTION_CUSTOMER_KEY
Provider:
S3Key used to encrypt/decrypt dataS3_USE_VIRTUAL_ADDRESSING
S3_USE_VIRTUAL_ADDRESSING
Provider:
S3Whether to use virtual addressing when referencing the S3 sink| Value | Description |
|---|---|
true | The requests URI should be specified in virtual-hosted-style format where the bucket name is part of the domain name in the URL |
false | Use path-style URI for requests |
S3_VERIFY_SSL
S3_VERIFY_SSL
Provider:
S3Whether to verify SSL connections| Value | Description |
|---|---|
true | Verify SSL connections (default) |
false | Don’t verify SSL connections; for testing purposes, bypassing TLS errors, self-signed certificates, etc. |