如何使用pyspark将bz2文件读入数据帧?

Leo*_*ius 6 python apache-spark apache-spark-sql pyspark

我可以使用以下命令将 json 文件读入 Pyspark 中的数据帧

spark = SparkSession.builder.appName('GetDetails').getOrCreate()
df = spark.read.json("path to json file")
Run Code Online (Sandbox Code Playgroud)

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

spark = SparkSession.builder.appName('GetDetails').getOrCreate()
df = spark.read.load("path to bz2 file")
Run Code Online (Sandbox Code Playgroud)

你能帮我纠正一下吗?

Ser*_*nko 2

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

因此,为了让您的代码正常工作,它应该如下所示:


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

Run Code Online (Sandbox Code Playgroud)

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


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

Run Code Online (Sandbox Code Playgroud)