微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Glue PySpark 作业:调用 o100.pyWriteDynamicFrame 时出错

如何解决Glue PySpark 作业:调用 o100.pyWriteDynamicFrame 时出错

我正在构建数据管道,通过在 AWS glue 中创建自定义连接器,通过 AWS glue 将数据从 S3 存储桶迁移到 SNowflake。

运行胶水作业时出现以下错误

**An error occurred while calling o100.pyWriteDynamicFrame. glue ETL Marketplace: JDBC Data Sink: Column "serial_number" not found in schema Some(StructType(StructField(SERIAL_NUMBER,DoubleType,true),StructField(COMPANY_NAME,StringType,StructField(EMPLOYEE_MARKME,StructField(DESCRIPTION,StructField(LEAVE,LongType,true)))**

注意:分别使用以下版本的连接器和驱动程序 -

  1. SNowflake Spark 连接器 - spark-sNowflake_2.11-2.4.14-spark_2.3.jar
  2. SNowflake JDBC 驱动程序 - sNowflake-jdbc-3.8.3.jar
  3. glue 位于同一区域的 S3 存储桶。

如果我遗漏了什么或我使用了不正确的版本/不支持的连接器和驱动程序版本,请告诉我........

解决方法

你是用双引号传递列吗?如果是,那可能是根本原因。 Snowflake 将所有名称隐式转换为大写,除非您在双引号中指定它并且它也以相反的方式工作(如果您有一个名为 SERIAL_NUMBER 的列名,并且您在查询中选择了“serial_number”,它将无法找到列。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。