列的值为 null 并在 pyspark 数据框中交换

Values of the columns are null and swapped in pyspark dataframe

我正在使用 pyspark==2.3.1。我已经使用 pandas 对数据进行了数据预处理,现在我想将我的预处理函数从 pandas 转换为 pyspark。但是,在使用 pyspark 读取数据 CSV 文件时,很多值变成了实际上具有某些值的列的空值。如果我尝试对此数据框执行任何操作,那么它会将列的值与其他列交换。我还尝试了不同版本的 pyspark。请让我知道我做错了什么。谢谢

pyspark 的结果:

列“property_type”的值为空,但实际数据框有一些值而不是空。

CSV 文件:

但是 pyspark 可以很好地处理小数据集。即

我们遇到了类似的问题。您需要检查的事项

  1. 检查您的数据是否为 ​​" [双引号] pypark 会将其视为定界符并且数据看起来格式不正确
  2. 检查您的 csv 数据是否为多行 我们通过提及以下配置来处理这种情况

spark.read.options(header=True, inferSchema=True, escape='"').option("multiline",'true').csv(schema_file_location)

您是否仅限于使用 CSV 文件格式? 试试镶木地板。只需使用 .to_parquet() 而不是 .to_csv() 将您的 DataFrame 保存在 pandas 中。 Spark 非常适合这种格式。