【问题标题】:PySpark is not able to read multiline with utf-8 encodingPySpark 无法使用 utf-8 编码读取多行
【发布时间】:2022-01-11 14:18:20
【问题描述】:

在使用 PySpark 选项多行 + utf-8(字符集)时,我们无法读取正确格式的数据。

挖掘后得到this link,它位于类似的线路上,但用于数据块。这适用于 Scala spark,但无法在 PySpark 中读取。

是否缺少或需要以不同的方式实施?

【问题讨论】:

  • 您能否发布一些示例数据来重现该问题?
  • 嗨 Nikunj,它无法获取样本数据,我在 diff 系统上测试过的相同数据它工作正常,但不幸的是它在客户端机器上不工作,使用 python 3.6 和 spark 2.4.5。,作为一种解决方法,我们使用了 panda 数据框,然后转换为 spark 数据框,为我们解决了问题。

标签: apache-spark pyspark databricks


【解决方案1】:

请尝试将其读取为文本文件:

spark.read.text()

使用您的字符集。

比此处解释的其余步骤:https://sparkbyexamples.com/spark/spark-read-multiline-multiple-line-csv-file/

  • 用转义字符 + 定界符 + 转义字符“,”替换所有定界符。 - 如果您有逗号分隔的文件,那么它将替换为“,”。
  • 在每条记录的末尾添加转义字符(编写逻辑以忽略具有多行的行)。
  • 将数据写入另一个临时文件。
  • 最后,将此文件读取为带有多行和转义选项的 CSV。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 2019-12-27
    • 2017-08-29
    • 2016-08-14
    • 1970-01-01
    • 2011-07-26
    • 2021-05-14
    相关资源
    最近更新 更多