【问题标题】:Can we load the files from a file location to Named internalstage using stored proc in snowflake?我们可以使用雪花中的存储过程将文件从文件位置加载到命名内部阶段吗?
【发布时间】:2021-07-09 11:56:40
【问题描述】:

我们可以使用雪花中的存储过程将文件从文件位置加载到内部阶段吗?我知道我们不能在这里使用 put 命令。请帮忙

【问题讨论】:

  • 可以使用外部 lambda 函数,但不能使用 Snowflake 存储过程。

标签: snowflake-cloud-data-platform snowflake-schema


【解决方案1】:
【解决方案2】:

您不能使用 Snowflake 存储过程。如果文件在云存储(AWS、Azure、GCP)中,那么您可以设置一个外部阶段并直接从它们中提取。如果文件是本地文件,则需要使用工具推送到 Internal Stage。例如。 Snowsql 客户端、python、.Net 或可以使用 ODBC 或 JDBC 客户端的工具。

【讨论】:

    【解决方案3】:

    简短的回答是否定的。 原因是,该雪花正在云中运行,并且无法访问您的本地计算机。

    您必须通过支持的工具将文件从本地机器上传到云存储解决方案,然后您才能使用存储过程来处理文件。

    以下是一些附加信息

    要将文件从计算机或虚拟机加载到雪花,您正在寻找以下两个选项之一:

    1. 通过PUT command上传到雪花内部舞台 或
    2. 通过云提供商工具从您的计算机上传到 Snowflake External Stage,

    AWS:

    aws s3 cp filename.txt s3://bucket-name
    

    Azure:

    az storage blob upload \
        --account-name <storage-account> \
        --container-name <container> \
        --name helloworld \
        --file helloworld \
        --auth-mode login
    

    GCP:

    gsutil cp *.txt gs://my-bucket
    

    将数据加载到阶段之后。

    如果您不确定要使用哪种类型的舞台,请参阅Choosing a Stage

    您通过COPY INTO 命令将数据加载到表中

    如果您使用的是雪花内部阶段,则以下示例脚本是一个上传命令,用于上传您的文件。

    put file:///tmp/data/mydata.csv @my_int_stage;
    

    您可以使用适用于 python 的雪花连接器从 snowsql 或 python 运行 PUT 命令。

    向我们提供您尝试使用的代码和错误消息,我们可以帮助您继续前进。

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 2020-11-26
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多