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


Python pyspark RDD.saveAsTextFile用法及代碼示例


本文簡要介紹 pyspark.RDD.saveAsTextFile 的用法。

用法:

RDD.saveAsTextFile(path, compressionCodecClass=None)

將此 RDD 保存為文本文件,使用元素的字符串表示。

參數

pathstr

文本文件的路徑

compressionCodecClassstr,可選

壓縮編解碼器類的全限定類名,即“org.apache.hadoop.io.compress.GzipCodec”(默認為無)

例子

>>> from tempfile import NamedTemporaryFile
>>> tempFile = NamedTemporaryFile(delete=True)
>>> tempFile.close()
>>> sc.parallelize(range(10)).saveAsTextFile(tempFile.name)
>>> from fileinput import input
>>> from glob import glob
>>> ''.join(sorted(input(glob(tempFile.name + "/part-0000*"))))
'0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n'

保存到文本文件時允許出現空行。

>>> from tempfile import NamedTemporaryFile
>>> tempFile2 = NamedTemporaryFile(delete=True)
>>> tempFile2.close()
>>> sc.parallelize(['', 'foo', '', 'bar', '']).saveAsTextFile(tempFile2.name)
>>> ''.join(sorted(input(glob(tempFile2.name + "/part-0000*"))))
'\n\n\nbar\nfoo\n'

使用壓縮編解碼器類

>>> from tempfile import NamedTemporaryFile
>>> tempFile3 = NamedTemporaryFile(delete=True)
>>> tempFile3.close()
>>> codec = "org.apache.hadoop.io.compress.GzipCodec"
>>> sc.parallelize(['foo', 'bar']).saveAsTextFile(tempFile3.name, codec)
>>> from fileinput import input, hook_compressed
>>> result = sorted(input(glob(tempFile3.name + "/part*.gz"), openhook=hook_compressed))
>>> b''.join(result).decode('utf-8')
'bar\nfoo\n'

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.RDD.saveAsTextFile。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。