Spark:将HDFS URL与数据局部性警告并行化

我有一个HDFS zip文件URL列表,我想在RDD映射函数中打开每个文件,而不是使用binaryfiles函数。

最初,我尝试如下:

def unzip(hdfs_url):
  # read the hdfs file using hdfs python client

rdd = spark.sparkContext.parallelize(list_of_hdfs_urls,16) # make 16 partitions
rdd.map(lambda a: unzip(a)) 

但是后来我意识到,即使它在整个群集中并行运行,也不会提供数据局部性。

是否有任何方法可以在hdfs文件x所在的节点上为文件URL x运行映射功能,如何使spark意识到该位置。

我想以这种方式读取zip文件,以便在pyspark中获得更好的性能,因此,我可以避免在每个执行器上的python和java进程之间进行文件序列化和反序列化。

HUAZAI520520 回答:Spark:将HDFS URL与数据局部性警告并行化

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3148584.html

大家都在问