Create a new external table
Creates a new external table, which is a local database object whose source data is located externally to the database. The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.
The external table can have its structure defined explicitly, via create_table_options, which contains many of the options from /create/table; or defined implicitly, inferred from the source data.
table_name- Name of the table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.filepaths- A list of file paths from which data will be sourced;For paths in KiFS, use the URI prefix of kifs:// followed by the path to a file or directory. File matching by prefix is supported, e.g. kifs://dir/file would match dir/file_1 and dir/file_2. When prefix matching is used, the path must start with a full, valid KiFS directory name.
If an external data source is specified in datasource_name, these file paths must resolve to accessible files at that data source location. Prefix matching is supported. If the data source is hdfs, prefixes must be aligned with directories, i.e. partial file names will not match.
If no data source is specified, the files are assumed to be local to the database and must all be accessible to the gpudb user, residing on the path (or relative to the path) specified by the external files directory in the Kinetica configuration file. Wildcards (*) can be used to specify a group of files. Prefix matching is supported, the prefixes must be aligned with directories.
If the first path ends in .tsv, the text delimiter will be defaulted to a tab character. If the first path ends in .psv, the text delimiter will be defaulted to a pipe character (|).
modify_columns- Not implemented yet.create_table_options- Options from/create/table, allowing the structure of the table to be defined independently of the data source
pub async fn create_table_external_with_opts( &self, table_name: String, filepaths: Vec<String>, modify_columns: HashMap<String, HashMap<String, String>>, create_table_options: HashMap<String, String>, options: CreateTableExternalRequestOptions, ) -> Result<CreateTableExternalResponse, KineticaError>
Create a new external table
Creates a new external table, which is a local database object whose source data is located externally to the database. The source data can be located either in KiFS; on the cluster, accessible to the database; or remotely, accessible via a pre-defined external data source.
The external table can have its structure defined explicitly, via create_table_options, which contains many of the options from /create/table; or defined implicitly, inferred from the source data.
table_name- Name of the table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.filepaths- A list of file paths from which data will be sourced;For paths in KiFS, use the URI prefix of kifs:// followed by the path to a file or directory. File matching by prefix is supported, e.g. kifs://dir/file would match dir/file_1 and dir/file_2. When prefix matching is used, the path must start with a full, valid KiFS directory name.
If an external data source is specified in datasource_name, these file paths must resolve to accessible files at that data source location. Prefix matching is supported. If the data source is hdfs, prefixes must be aligned with directories, i.e. partial file names will not match.
If no data source is specified, the files are assumed to be local to the database and must all be accessible to the gpudb user, residing on the path (or relative to the path) specified by the external files directory in the Kinetica configuration file. Wildcards (*) can be used to specify a group of files. Prefix matching is supported, the prefixes must be aligned with directories.
If the first path ends in .tsv, the text delimiter will be defaulted to a tab character. If the first path ends in .psv, the text delimiter will be defaulted to a pipe character (|).
modify_columns- Not implemented yet.create_table_options- Options from/create/table, allowing the structure of the table to be defined independently of the data sourceoptions- The optional parameters; any left unset take the server’s defaults.
pub async fn create_table_external_raw( &self, request: &CreateTableExternalRequest, ) -> Result<CreateTableExternalResponse, KineticaError>
Sends a pre-built CreateTableExternalRequest to the /create/table/external endpoint.
pub async fn create_table_external_from_url( &self, url: &str, request: &CreateTableExternalRequest, ) -> Result<CreateTableExternalResponse, KineticaError>
Sends a pre-built CreateTableExternalRequest to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.