【问题标题】:How to read bz2 files into dataframes using pyspark?如何使用 pyspark 将 bz2 文件读入数据帧?
【发布时间】:2018-11-14 07:19:56
【问题描述】:

我可以使用

将 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")

你能帮我纠正一下吗?

【问题讨论】:

  • 你遇到了什么错误?尝试在您的问题中包含该错误。
  • 我相信该错误包含以下线索:“原因:java.lang.RuntimeException:file:path/to/json.bz2 不是 Parquet 文件。尾部的预期幻数 [80, 65 , 82, 49] 但发现 [0, 108, 106, -40]" 默认情况下 spark.read.load 需要“parquet”格式。

标签: python apache-spark pyspark apache-spark-sql


【解决方案1】:

方法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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 2023-02-21
    • 2017-04-29
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多