首页 > 解决方案 > 不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4 的位置

问题描述

我已经创建了将 avro 文件转换为镶木地板的胶水作业。为此我正在进口

--conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4 

在 yaml 文件中。但是由于没有创建数据框,工作仍然失败。显示以下错误:AnalysisException('未能找到数据源:org.apache.spark.sql.avro。Avro 是内置的,但自 Spark 2.4 以来是外部数据源模块。')

我的 yml 模板如下:

 DefaultArguments:
    '--job-language': 'python'
    '--job-bookmark-option': 'job-bookmark-disable'
    '--enable-metrics': ''
    '--conf': 'spark.executor.memoryOverhead=1g --conf spark.maxRemoteBlockSizeFetchToMem=2g --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4'
    '--JOB_NAME': !If [IsPythonShell, !Ref GlueJobName, !Ref "AWS::NoValue"]

我不清楚我哪里出错了。我的猜测是我将 conf 包放在错误的位置。

请帮忙。

标签: amazon-web-servicesapache-sparkamazon-cloudformationaws-glue

解决方案


解决此问题的一种方法是使用--extra-jarsgithub 上的文档)并引用 S3 中的 jar 文件。当然,您必须将 jar 存储在 S3 中。我认为 Glue 不会像普通的 spark-submit 那样下载任何 jars。


推荐阅读