Glue PySpark 作业:调用 o100.pyWriteDynamicFrame 时发生错误

问题描述 投票:0回答:2

我正在构建数据管道,通过在 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,true), StructField(EMPLOYEE_MARKME,StringType,true), StructField(DESCRIPTION,StringType,true), StructField(LEAVE,LongType,true)))**

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

  1. 雪花 Spark 连接器 - Spark-snowflake_2.11-2.4.14-spark_2.3.jar
  2. Snowflake JDBC 驱动程序 - Snowflake-jdbc-3.8.3.jar
  3. S3 存储桶与 Glue 位于同一区域。

如果我缺少任何内容或我使用的连接器和驱动程序版本不正确/不支持版本,请告诉我........

pyspark snowflake-cloud-data-platform aws-glue snowflake-schema aws-glue-spark
2个回答
2
投票

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


0
投票

尝试将glue版本更新到4.0或5.0!

© www.soinside.com 2019 - 2024. All rights reserved.