首页 > 解决方案 > Spark SQL 中的 $"Col1"、'Col1 和 "Col1" 有什么区别?

问题描述

我目前在 Action Book 中指的是 Spark,我遇到了以不同方式使用同一列的情况。

val postsIdBody = postsDf.select('id, 'body)
val postsIdBody = postsDf.select($"id", $"body")
val postsIdBody = postsDf.select("id", "body")

我们能够得到类似的结果。它们之间有什么区别吗?谁能清楚地解释在什么情况下我们需要实现每一种类型。

提前致谢

标签: scalaapache-sparkapache-spark-sql

解决方案


我确信这本书包括了这一点,但是通过在 Scala 中导入implicits 包,您可以使用这些符号来创建Column对象,而无需另外输入new Column(name)

您将使用列对象而不是字符串,因为您可以在数据框 API 中更轻松地进行排序和别名


推荐阅读