toDS() 如何注入到 Seq 对象中[重复]

Posted

技术标签:

【中文标题】toDS() 如何注入到 Seq 对象中[重复]【英文标题】:How does toDS() get injected into the Seq object [duplicate] 【发布时间】:2018-04-05 09:42:04 【问题描述】:

通常在 Scala 中,如果你在一个序列上调用 toDS(),你会得到:

error: value toDS is not a member of Seq[Int]

但是,在 SparkSession 中,您可以在 Seq 上调用相同的方法并创建一个 DataSet。

这种元编程实际上是如何发生的?

【问题讨论】:

:imports in scala shell vs spark-shell 会告诉你区别 【参考方案1】:

来自SparkSession.implicits:

import org.apache.spark.sql.SparkSession

val spark = SparkSession.builder.getOrCreate()
import spark.implicits._

【讨论】:

好的,但我很困惑。导入另一个类如何影响现有类? @MoreThanFive 你能分享你的发现吗?

以上是关于toDS() 如何注入到 Seq 对象中[重复]的主要内容,如果未能解决你的问题,请参考以下文章

地图功能无法与 Dataframe(toDF)一起正常工作 [重复]

如何在数据框选择中添加中间列?

如何覆盖子类中的macwire注入

sbt编译spark程序提示value toDF is not a member of Seq()

scalajs-react:如何从状态对象的 Seq 中获得多行文本字段?

值 toDS 不是 org.apache.spark.rdd.RDD 的成员