繁体   English   中英

如何在Spark本地模式下配置执行器

[英]How to configure Executor in Spark Local Mode

简而言之

我想将我的应用程序配置为使用lz4压缩而不是snappy,我所做的是:

session = SparkSession.builder()
        .master(SPARK_MASTER) //local[1]
        .appName(SPARK_APP_NAME)
        .config("spark.io.compression.codec", "org.apache.spark.io.LZ4CompressionCodec")
        .getOrCreate();

但查看控制台输出,它仍然在执行程序中使用snappy

org.apache.parquet.hadoop.codec.CodecConfig: Compression: SNAPPY

[Executor task launch worker-0] compress.CodecPool (CodecPool.java:getCompressor(153)) - Got brand-new compressor [.snappy]

根据这篇文章 ,我在这里所做的只是配置驱动程序,而不是执行程序。 帖子上的解决方案是更改spark-defaults.conf文件,但是我在本地模式下运行spark,因此我在任何地方都没有该文件。

一些细节:

我需要在本地模式下运行该应用程序(出于单元测试的目的)。 该测试在我的计算机上本地正常运行,但是当我将该测试提交到构建引擎(RHEL5_64)时,出现了错误

snappy-1.0.5-libsnappyjava.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

我做了一些研究,似乎最简单的解决方法是使用lz4而不是snappy进行编解码器,因此我尝试了上述解决方案。

我已经在这个问题上停留了几个小时,感谢您的任何帮助,谢谢。

我在这里所做的只是配置驱动程序,而不是执行程序。

local模式下,只有一个同时托管驱动程序线程和执行程序线程的JVM。

spark-defaults.conf文件,但是我在本地模式下运行spark,但是我在任何地方都没有该文件。

模式与此处无关。 local模式下的Spark使用相同的配置文件。 如果转到存储Spark二进制文件的目录,则应看到conf目录:

spark-2.2.0-bin-hadoop2.7 $ ls
bin  conf  data  examples  jars  LICENSE  licenses  NOTICE  python  R  README.md  RELEASE  sbin  yarn

在此目录中,有一堆模板文件:

spark-2.2.0-bin-hadoop2.7 $ ls conf 
docker.properties.template  log4j.properties.template    slaves.template               spark-env.sh.template

fairscheduler.xml.templatemetrics.properties.template spark-defaults.conf.template

如果要设置配置选项,请将spark-defaults.conf.template复制到spark-defaults.conf并根据需要进行编辑。

在此处发布我的解决方案时,@ user8371915确实回答了该问题,但并没有解决我的问题,因为就我而言,我无法修改属性文件。

我最终要做的是添加另一种配置

session = SparkSession.builder()
        .master(SPARK_MASTER) //local[1]
        .appName(SPARK_APP_NAME)
        .config("spark.io.compression.codec", "org.apache.spark.io.LZ4CompressionCodec")
        .config("spark.sql.parquet.compression.codec", "uncompressed")
        .getOrCreate();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM