当前位置: 首页 > 知识库问答 >
问题:

如何在SparkSubmitOperator中指定driver-java-options-dlog4j.configuration

归建安
2023-03-14

我试图在集群模式下从Airflow进行spark提交,我想在submit操作符中指定log4j属性

task_id='spark_submit_job',
conn_id='spark_default',
files='/usr/hdp/current/spark-client/conf/hive-site.xml',
jars='/usr/hdp/current/spark-client/lib/datanucleus-api-jdo-3.2.6.jar,/usr/hdp/current/spark-client/lib/datanucleus-rdbms-3.2.9.jar,/usr/hdp/current/spark-client/lib/datanucleus-core-3.2.10.jar',
java_class='com.xxx.eim.job.SubmitSparkJob',
application='/root/airflow/code/eimdataprocessor.jar',
total_executor_cores='4',
executor_cores='4',
executor_memory='5g',
num_executors='4',
name='airflow-spark-example',
verbose=False,
driver_memory='10g',
application_args=["XXX"],
conf={'master':'yarn',
     'spark.yarn.queue'='priority',
     'spark.app.name'='XXX',
     'spark.dynamicAllocation.enabled'='true'},
     'spark.local.dir'='/opt/eim',
     'spark.shuffle.service.enabled'='true',
     'spark.hadoop.mapreduce.fileoutputcommitter.cleanup-failures.ignored'='true',
     'spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version'='2'
     },
dag=dag)

共有1个答案

满昊然
2023-03-14

我能想到两种可能的方法

>

  • log4j属性作为spark配置

    • 基本上试图实现与spark-submit命令中的这行相同的效果:--conf“spark.executor.extrajavaoptions=-dlog4j.configuration=log4j.properties”
    • 通过sparksubmitoperator
    • 中的 conf参数传递
    • 请注意,如果您正在编写一个自定义运算符以在远程系统上执行spark-submit,传递log4j配置文件可能具有挑战性
      null

  •  类似资料:
    • 问题内容: 我已经为“ Debian Linux”创建了一个Java应用程序。现在,我希望该应用程序读取放置在指定该应用程序的jar文件的目录中的文件。那么在File Object的参数中要指定什么呢? 在上述声明中,作为参数指定相对文件路径的参数是什么,该相对文件路径表示放置应用程序的jar文件的路径? 问题答案: 如果您知道文件的名称,那么当然 如果您不知道名称,则可以使用File对象的lis

    • 问题内容: 如果我有方法 如何在不进行强制转换的情况下使用数字参数来调用它? 给出一个错误。 问题答案: 你不能。基本数字常量被认为是整数(如果后面跟有“ L”,则为整数),因此必须将其显式下转换为字节,以将其作为参数传递。据我所知,没有捷径可走。

    • 我在redis stream文档中看到了这一点,它说: 是时候试着用消费者群体来阅读一些东西了: XREADGROUP回复与XREAD回复一样。请注意,尽管上面提供了一个组,但它声明我希望使用消费者组mygroup从流中读取数据,我是消费者Alice。每次使用者对使用者组执行操作时,都必须指定其名称,以便在组内唯一标识此使用者。 在上面的命令行中还有另一个非常重要的细节,在强制流选项之后,为密钥m

    • 问题内容: 在网络上快速搜索发现三个或四个变种人如何被指定和在。 指定JPA 2.1版的“正确”方式是什么? 我正在使用 问题答案: 根据官方文档,它必须是(像您的一样):

    • 通过调试,我发现fxmlloader.this.resources为null,这导致了NPE。起初我以为我只是给出了一个错误的文件路径,但请注意,这发生在ResourceBundle甚至尝试加载属性文件之前! 有什么办法可以解决这个问题,这样资源就可以加载了吗? 下面是我的档案。它们都在同一个目录中(为了简单起见,默认包)。 完整StackTrace: