【问题标题】:PySpark error when converting a DataFrame to rdd [duplicate]将 DataFrame 转换为 rdd 时出现 PySpark 错误 [重复]
【发布时间】:2018-09-10 20:14:24
【问题描述】:

我在emr 集群上的pyspark shell 中运行代码,遇到了我以前从未见过的错误...

这条线有效:

spark.read.parquet(s3_input).take(99)

虽然此行导致异常:

spark.read.parquet(s3_input).rdd.take(99)

TypeError: 'int' 对象不可迭代

【问题讨论】:

  • 您确定转换代码与您在帖子中的代码一样吗?如果是这种情况,那么该错误无法解释...您是否在 rdd 上运行了一些 map 操作?
  • 这些是我在集群上运行的确切 2 行,使用相同的 s3_input

标签: apache-spark pyspark


【解决方案1】:

问题在 pyspark 2.3.0 中仍然存在,我已降级到 pyspark 2.2.1。

这不是解决方案,而是一种解决方法,直到 pyspark 维护人员修复此问题。

【讨论】:

  • 你的配置有问题。您可能已提交到 Spark 2.3,但使用了路径上的 Spark 2.2 Python 库。
  • 这是toPandas问题的副本?
  • 因为根本问题是相同的 - Pandas 并不真正相关,问题来自不正确的 Spark 部署配置。
  • 很高兴听到您提出了解决方案。即使解决方案相同,问题和异常也不相关。如果您认为pandas 问题的答案也适用于此处,请在此处发布。为了使我的论点更加荒谬,请考虑通过重新启动 Windows 机器可以解决的所有技术问题。他们都是同一个问题吗?
猜你喜欢
  • 2018-06-10
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 2021-06-29
  • 2023-03-13
  • 2018-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多