【发布时间】:2015-05-11 01:52:02
【问题描述】:
我需要从 pyspark worker 中读取/扫描/写入文件到 hdfs。
请注意,以下 api 不适用,因为它们会脱离 驱动程序:
sc.textFile()
sc.saveAsParquetFile()
等
最好不要涉及额外的第三方库(例如 pyhadoop)。
一种选择是掏空例如
os.system('hdfs dfs -ls %(hdfsPath)s' %locals())
但是有没有更原生的 pyspark 方式来实现这一点?
UPDATE 这不是广播数据的情况,因为每个工作人员将从 hdfs 读取不同的数据。其中一个用例是在每个工作人员中读取一些大型二进制文件(这显然不是广播的情况)。另一种情况是读取包含指令的“命令”文件。我已经在原生 hadoop 和 scala spark 中成功使用了这种模式。
【问题讨论】:
标签: apache-spark hdfs pyspark