amazon-web-services - 不清楚在 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 包放在错误的位置。
请帮忙。
解决方案
解决此问题的一种方法是使用--extra-jars
(github 上的文档)并引用 S3 中的 jar 文件。当然,您必须将 jar 存储在 S3 中。我认为 Glue 不会像普通的 spark-submit 那样下载任何 jars。
推荐阅读
- java - 如何更改实例化类变量
- swiftui - 将货币符号动态组合到 TextField 文本
- r - 使用正则表达式提取特定字符
- python - Python按顺序运行函数;如果一个失败,停止
- php - 字符串仅替换 Laravel 视图中的第一个字符
- syntax - 参数定义语法 - 如何在 IDE 中读取参数信息弹出窗口
- symbols - 如何在 FPDF 中的 1 个单元格上设置字体 Arial 和符号
- java - 如何获取用户定义数组中的最小值和最大值?
- bash - 为什么当我运行 sudo pm2 ls 时 Jenkins shell 脚本会挂起
- amazon-web-services - 使用 Zappa Flask 应用程序提交 POST 请求表单时出现错误的网关