请教一个 spark dataframe 问题

2022-06-27 15:04:32 +08:00
 heyyyy

代码:

val dfArr = df.map(row => {
  ...
  ...
  val DF = spark.createDataFrame(rdd, schema)
  DF // 返回 dataframe
})

报错:

error: Unable to find encoder for type org.apache.spark.sql.DataFrame. An implicit Encoder[org.apache.spark.sql.DataFrame] is needed to store org.apache.spark.sql.DataFrame instances in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._  Support for serializing other types will be added in future releases.

将 df.take(n)到 driver 不会报错,不 take 的话报错,原因应该是序列化的时候没找合适的 encoder ,奇怪的是我在创建 df 的时候已经给了 schema.

709 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/862487

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX