首页 > 解决方案 > 如何使用 pyspark 将 bz2 文件读入数据帧?

问题描述

我可以使用将 json 文件读入 Pyspark 中的数据框

spark = SparkSession.builder.appName('GetDetails').getOrCreate()
df = spark.read.json("path to json file")

但是,当我尝试将 bz2(压缩 csv)读入数据帧时,它给了我一个错误。我在用:

spark = SparkSession.builder.appName('GetDetails').getOrCreate()
df = spark.read.load("path to bz2 file")

你能帮我纠正一下吗?

标签: pythonapache-sparkpysparkapache-spark-sql

解决方案


该方法spark.read.load()有一个可选参数format,默认为“parquet”。

因此,要使您的代码正常工作,它应该如下所示:


df = spark.read.load("data.json.bz2", format="json")

此外,spark.read.json将完全适用于压缩的 JSON 文件,例如:


df = spark.read.json("data.json.bz2")


推荐阅读