不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4
Posted
技术标签:
【中文标题】不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4 的位置【英文标题】:Not clear where to add --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4 in aws cloudformation yaml template 【发布时间】:2020-02-07 06:30:30 【问题描述】:我已经创建了将 avro 文件转换为镶木地板的粘合作业。为此,我正在导入
--conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4
在 yaml 文件中。但是由于没有创建数据框,工作仍然失败。 显示以下错误:AnalysisException('Failed to find data source: 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 包放在了错误的位置。
请帮忙。
【问题讨论】:
你找到解决方案了吗? @BiplobBiswas 看看我在弗雷德里克的回答下的评论 【参考方案1】:解决此问题的一种方法是使用 --extra-jars
(Documentation on github) 并引用 S3 中的 jar 文件。当然,您必须将 jar 存储在 S3 中。我认为 Glue 不会像普通的 spark-submit 那样下载任何 jar。
【讨论】:
你以前试过这个吗?我按照你建议的方式做了,但得到了这个例外An error occurred while calling o84.csv.org.apache.spark.sql.sources.DataSourceRegister: Provider org.apache.spark.sql.avro.AvroFileFormat could not be instantiated
我刚刚成功了。但是,spark avro 2.12-2.4.3 仍然没有工作,但是 avro 2.11-2.4.4 工作了。以上是关于不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 cloudformation 在 AWS cognito 上设置验证属性?
在同一个 Cloudformation 堆栈中连接 Athena 和 S3
AWS CloudFormation:Cognito LambdaTrigger CustomEmailSender - 属性“AWS CloudFormation 目前不支持。”和 CDK 的使用