spark-submit \
--master local \
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=log4j.properties"\
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=log4j.properties"\
--py-files ./dist/src-1.0-py3-none-any.whl\
--files "/job/log4j.properties"\ # path in docker container
main.py -input $1 -output $2 -mapper $3 $4 # app args
dockerized应用程序结构为:
job/
|-- entrypoint.sh
|-- log4j.properties
|-- main.py
我得到以下错误:
log4j:忽略配置文件[file://log4j.properties]时出错。log4j:错误无法从URL[file://log4j.properties]读取配置文件。
logger = sc._jvm.org.apache.log4j.Logger
sc._jvm.org.apache.log4j.PropertyConfigurator.configure("/job/log4j.properties")
Logger = logger.getLogger("MyLogger")
log4jLogger = sc._jvm.org.apache.log4j
logger = log4jLogger.LogManager.getLogger("MyLogger")
由于您在容器中并使用--master local
,这将您限制为本地文件系统,您可以从file://
URI访问该文件系统。
--files
从运行命令的位置获取文件所在位置的相对路径,并添加到驱动程序/执行程序类路径
将这两个信息放在一起,可以指定
-Dlog4j.configuration=file:///job/log4j.properties
--files "/job/log4j.properties"
Spark提供三个位置用来配置系统: Spark properties控制大部分的应用程序参数,可以用SparkConf对象或者java系统属性设置 Environment variables可以通过每个节点的conf/spark-env.sh脚本设置每台机器的设置。例如IP地址 Logging可以通过log4j.properties配置 Spark属性 Spark属性控制大部分的应用程序设置,并
代码错误: py4j。协议Py4JJavaError:调用o490时出错。collectToPython.:组织。阿帕奇。火花SparkException:作业因阶段失败而中止:阶段27.0中的任务0失败了4次,最近的失败:阶段27.0中的任务0.3丢失(TID 98)(172.17.7.28执行器1):java。io。IOException:无法运行程序“python3.6”:CreatePro
我在运行spark配置时面临内存问题,我已经将设置更改为最大内存,但它仍然不能工作。请查看以下问题:命令- 错误-错误集群。YarnScheduler:Ampanacdddbp01.au.amp.local上丢失的遗嘱执行人9:123643 ms后Executor heartbeat超时警告调度器。TaskSetManager:在阶段0.0中丢失任务19.0(TID 19,ampanacdddbp
我有一个从配置文件读取数据的Spark作业。此文件是一个类型安全配置文件。 我要使用的外部application.conf的内容如下所示: 此application.conf文件存在于我的本地计算机文件系统中(而不是HDFS上) 我用的是Spark1.6.1和纱线 提前致谢
我有一个火花1.2.0的火花流环境,我从本地文件夹中检索数据,每次我发现一个新文件添加到文件夹中时,我都会执行一些转换。 为了对DStream数据执行分析,我必须将其转换为数组 然后,我使用获得的数据提取我想要的信息,并将其保存在HDFS上。 由于我真的需要使用Array操作数据,因此不可能使用(这将正常工作)在HDFS上保存数据,我必须保存RDD,但使用此先决条件,我终于有了名为part-000
我在下面的代码中运行,但是在配置单元上下文中注册临时表时返回了一个无效的数据帧。