CopyFromExternalStageToSnowflakeOperator

使用 CopyFromExternalStageToSnowflakeOperator 将存储在 AWS S3, Google Cloud Storage, 或 Azure Blob Storage 中的数据加载到 Snowflake 表中。

注意

此 operator 是对 COPY INTO table 查询的简单封装,并且需要先创建 stage

使用 Operator

SnowflakeOperator 类似,使用 snowflake_conn_id 和其他相关参数来建立与 Snowflake 实例的连接。此 operator 允许从特定的 Snowflake stage(预定义的 S3 路径)加载一个或多个指定的文件。为此,将相关文件名传递给 files 参数,并将相关的 Snowflake stage 传递给 stage 参数。pattern 可用于指定文件名和/或路径匹配模式(参见文档)。file_format 可用于引用已存在的 Snowflake 文件格式或定义文件格式的自定义字符串(参见文档)。

CopyFromExternalStageToSnowflakeOperator 的一个示例用法如下

tests/system/snowflake/example_copy_into_snowflake.py

copy_into_table = CopyFromExternalStageToSnowflakeOperator(
    task_id="copy_into_table",
    snowflake_conn_id=SNOWFLAKE_CONN_ID,
    files=[S3_FILE_PATH],
    table=SNOWFLAKE_SAMPLE_TABLE,
    stage=SNOWFLAKE_STAGE,
    file_format="(type = 'CSV',field_delimiter = ';')",
    pattern=".*[.]csv",
)

本条目有帮助吗?