当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark SparkContext.wholeTextFiles用法及代码示例


本文简要介绍 pyspark.SparkContext.wholeTextFiles 的用法。

用法:

SparkContext.wholeTextFiles(path, minPartitions=None, use_unicode=True)

从 HDFS、本地文件系统(在所有节点上可用)或任何 Hadoop-supported 文件系统 URI 读取文本文件目录。每个文件被读取为单个记录并以键值对的形式返回,其中键是每个文件的路径,值是每个文件的内容。文本文件必须编码为 UTF-8。

如果 use_unicode 为 False,则字符串将保留为 str(编码为 utf-8 ),比 unicode 更快更小。 (在 Spark 1.2 中添加)

例如,如果您有以下文件:

hdfs://a-hdfs-path/part-00000
hdfs://a-hdfs-path/part-00001
...
hdfs://a-hdfs-path/part-nnnnn

rdd = sparkContext.wholeTextFiles("hdfs://a-hdfs-path") ,然后 rdd 包含:

(a-hdfs-path/part-00000, its content)
(a-hdfs-path/part-00001, its content)
...
(a-hdfs-path/part-nnnnn, its content)

注意

小文件是首选,因为每个文件都将完全加载到内存中。

例子

>>> dirPath = os.path.join(tempdir, "files")
>>> os.mkdir(dirPath)
>>> with open(os.path.join(dirPath, "1.txt"), "w") as file1:
...    _ = file1.write("1")
>>> with open(os.path.join(dirPath, "2.txt"), "w") as file2:
...    _ = file2.write("2")
>>> textFiles = sc.wholeTextFiles(dirPath)
>>> sorted(textFiles.collect())
[('.../1.txt', '1'), ('.../2.txt', '2')]

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.SparkContext.wholeTextFiles。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。