【问题标题】:SQL compilation error while copying data from snowflakes to S3 using s3a:// and s3n://使用 s3a:// 和 s3n:// 将数据从雪花复制到 S3 时出现 SQL 编译错误
【发布时间】:2021-04-23 23:17:47
【问题描述】:

我正在尝试使用 s3n:// 和 s3a:// url 将结果从雪花复制到 Amazon s3,但出现 SQL 编译错误

sql查询的格式

COPY INTO '&s3_path/&curr_dt/pvc'
FROM ( 
    SELECT OBJECT_CONSTRUCT('id',id,'keyword',keyword)
    FROM brands_delta)
CREDENTIALS = (AWS_KEY_ID='&aws_key_id' AWS_SECRET_KEY='&aws_secret_key')
FILE_FORMAT = (TYPE=JSON)
SINGLE = false
OVERWRITE = true
MAX_FILE_SIZE = 1073741824;

日志文件中的错误如下: 001011 (42601):SQL 编译错误: 在以下位置找到无效的 URL 前缀:'s3a://abc/prod-runs/input/2021-01-19/pvc'

【问题讨论】:

    标签: sql hadoop amazon-s3 snowflake-cloud-data-platform snowflake-schema


    【解决方案1】:

    URI 协议确定客户端用于访问 URI 中给定资源的代码/软件。

    在这种情况下,Snowflake 是客户端软件,它显然不使用 s3a/s3n 协议。我不确定您为什么要尝试使用它们?

    【讨论】:

    • 我正在尝试它,因为当我们使用 s3 时,它给了我们以下错误:调用 o25.partitions 时发生错误。 : java.io.IOException: No FileSystem for scheme: s3 这个错误似乎是由于 hadoop 的配置。为了解决这个错误,我使用了 s3n:// 和 s3a:// 但现在在雪花结束时遇到了 sql 编译错误。这是该错误的解决方案stackoverflow.com/questions/46740670/…
    • 您是说在运行 Snowflake COPY INTO 命令时出现该错误(java.io.IOException: No FileSystem for scheme: s3)?如果没有,在 COPY INTO 命令中使用 s3(而不是 s3n ir s3a)时会出现什么错误?
    • 是的,我收到了错误调用 o25.partitions 时发生错误。 : java.io.IOException: No FileSystem for scheme: s3 在运行 pyspark 脚本时从 emr 上的 s3 读取数据时。所以我将 s3 更改为 s3n 客户端,然后在通过复制将数据从雪花传输到 S3 时遇到 SQL 编译错误命令
    • 我不确定你是否理解我的问题。您似乎在说运行 Snowflake COPY INTO 命令时没有收到 java 错误?如果在 COPY INTO 命令中使用 s3(而不是 s3n 或 s3a),是否还会出现 SQL 编译错误?
    • 不,当我将 s3 与 COPY INTO 一起使用时,我没有收到错误
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多