我已经创建了胶水工作转换avro文件到 parquet 。为此,我导入
--conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4
在yaml文件中。但由于未创建 Dataframe ,作业仍然失败。显示以下错误:AnalysisException('无法找到数据源: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包放错了地方。
请帮帮忙。
2条答案
按热度按时间a5g8bdjr1#
解决这个问题的一个方法是使用
--extra-jars
(Documentation on github)并引用S3中的jar文件。当然,你必须将jar文件存储在S3中。我认为Glue不会像普通的spark-submit那样下载任何jar文件。hgc7kmma2#
同时将参数
--user-jars-first: "true"
添加到粘合作业。