Source code for exasol.nb_connector.cloud_storage

import pyexasol

_SETUP_SQL = [
    "OPEN SCHEMA {schema!i}",
    """
--/
            CREATE OR REPLACE JAVA SET SCRIPT IMPORT_PATH(...) EMITS (...) AS
              %scriptclass com.exasol.cloudetl.scriptclasses.FilesImportQueryGenerator;
              %jar {jar_path!r};
/
        """,
    """
--/
        CREATE OR REPLACE JAVA SCALAR SCRIPT IMPORT_METADATA(...) 
          EMITS (
                filename VARCHAR(2000), 
                partition_index VARCHAR(100), 
                start_index DECIMAL(36, 0), 
                end_index DECIMAL(36, 0)
          ) AS
          %scriptclass com.exasol.cloudetl.scriptclasses.FilesMetadataReader;
          %jar {jar_path!r};
/
        """,
    """
--/
        CREATE OR REPLACE JAVA SET SCRIPT IMPORT_FILES(...) EMITS (...) AS
          %scriptclass com.exasol.cloudetl.scriptclasses.FilesDataImporter;
          %jar {jar_path!r};
/
        """,
]


[docs] def setup_scripts( db_connection: pyexasol.ExaConnection, schema_name: str, bucketfs_jar_path: str ): """ Perform initialization of scripts for could-storage-extension. :param db_connection: DB connection :param schema_name: name of the schema to be used. :param bucketfs_jar_path: path to cloud-storage-extension jar in BucketFS :return: """ for sql in _SETUP_SQL: db_connection.execute( sql, query_params={ "schema": schema_name, "jar_path": bucketfs_jar_path, }, )