小编bra*_*ery的帖子

Spark引发java.io.IOException:保存part-xxxxx.gz时重命名失败

这里有新的Spark用户。我正在从存储在AWS S3上的许多.tif图像中提取功能,每个图像的标识符都类似于02_R4_C7。我正在使用Spark 2.2.1和hadoop 2.7.2。

我正在使用所有默认配置,如下所示:

conf = SparkConf().setAppName("Feature Extraction")
sc = SparkContext(conf=conf)
sc.setLogLevel("ERROR")
sqlContext = SQLContext(sc)
Run Code Online (Sandbox Code Playgroud)

这是一些功能成功以部分xxxx.gz文件形式保存在图像ID文件夹中后失败的函数调用:

features_labels_rdd.saveAsTextFile(text_rdd_direct,"org.apache.hadoop.io.compress.GzipCodec")

请参阅下面的错误。当我删除成功创建的功能部件part-xxxx.gz文件并重新运行脚本时,它在看似不确定的方式下在另一张图像和part-xxxxx.gz处失败。我确保在重新运行之前删除所有功能。我的理论是,两个工作人员试图创建相同的临时文件并且彼此冲突,因为同一文件有两个相同的错误消息,但相差一秒。

我对此无所适从,我已经看到了spark列出了可以更改spark处理任务方式的配置,但是由于不确定我所遇到的问题,我不确定在这里有什么帮助。任何帮助是极大的赞赏!

SLF4J: Class path contains multiple SLF4J bindings.
*SLF4J: Found binding in [jar:file:/usr/local/spark/jars/slf4j- 
log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
18/06/26 19:24:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your …
Run Code Online (Sandbox Code Playgroud)

io amazon-s3 apache-spark rdd

3
推荐指数
2
解决办法
3923
查看次数

标签 统计

amazon-s3 ×1

apache-spark ×1

io ×1

rdd ×1