當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。