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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。