Sha*_*fiq 9 python apache-spark pyspark
我有.gz压缩格式的行数据.我必须在pyspark中阅读以下是代码片段
rdd = sc.textFile("data/label.gz").map(func)
Run Code Online (Sandbox Code Playgroud)
但我无法成功阅读上述文件.我如何读取gz压缩文件.我在这里找到了一个类似的问题,但我当前版本的spark与该问题中的版本不同.我希望在hadoop中应该有一些内置函数.
Yar*_*ron 11
Spark文档明确指出您可以gz自动读取文件:
Spark的所有基于文件的输入方法(包括textFile)都支持在目录,压缩文件和通配符上运行.例如,您可以使用textFile("/ my/directory"),textFile("/ my/directory/.txt")和textFile("/ my/directory / .gz").
我建议运行以下命令,并查看结果:
rdd = sc.textFile("data/label.gz")
print rdd.take(10)
Run Code Online (Sandbox Code Playgroud)
假设spark找到了文件data/label.gz,它将从文件中打印10行.
请注意,文件的默认位置data/label.gz将位于spark-user的hdfs文件夹中.它在那里吗?
小智 5
您可以通过 spark 实例将压缩文件直接加载到数据帧中,您只需要在路径中指定压缩:
df = spark.read.csv("filepath/part-000.csv.gz")
Run Code Online (Sandbox Code Playgroud)
您还可以选择指定是否存在标头或架构是否也需要应用
df = spark.read.csv("filepath/part-000.csv.gz", header=True, schema=schema).
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15271 次 |
| 最近记录: |