Spark SQL中的$“ Col1”,'Col1和“ Col1”有什么区别?

时间:2018-11-16 11:25:46

标签: scala apache-spark apache-spark-sql

我目前在操作手册中指的是Spark,我碰巧以不同的方式使用同一列。

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

我们能够得到类似的结果。两者之间有什么区别吗?任何人都可以清楚地说明在什么情况下我们需要实施每种类型的情况。

预先感谢

1 个答案:

答案 0 :(得分:1)

我确定这本书会包含其中,但是通过在Scala中导入隐式包,您可以使用这些符号来创建Column对象,而无需另外输入new Column(name)

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