【问题标题】:How does $ symbol working when selecting columns from DataFrame?从 DataFrame 中选择列时,$ 符号如何工作?
【发布时间】:2016-10-24 17:13:40
【问题描述】:

当我们尝试从 DataFrame 中选择 Columns 时,可以使用 $"columnname"col("columnname") 或仅使用 "columnname"

我的问题是$ symbol[返回 ColumnName] 是如何工作的,我可以理解我需要 import sqlContext.implicits._ 才能在 df.select 上使用 $ 符号

我也没有在 SQLImplicits 类上看到 $ method。我可以看到一种名为 symbolToColumn(scala.Symbol s) 的方法。

有人可以解释一下吗?

【问题讨论】:

标签: scala dataframe apache-spark-sql


【解决方案1】:

来自SQLImplicits中的StringToColumn隐式内部类(由the implicits object实现)。

StringContextf / s 和其他字符串插值器在 Scala 中编写的方式。

【讨论】:

  • 哈,所以他们重载了字符串插值行为? Spark 如何确定您是否需要字符串插值与列选择?
  • 如果你想要字符串插值,你可以使用s / f,Scala 会引入默认的字符串插值器。
  • 啊,我知道了。谢谢!
  • 真的简单的答案是foo"bla"StringContext.foo("bla") 的语法糖,因此您只需提供@987654333 就可以“发明”您自己的字符串文字语义@方法。
猜你喜欢
  • 2013-06-08
相关资源
最近更新 更多