我想實作這一點,$而不是col()
val x = "id"
df.select(col(s"$x"))
這給了我一個錯誤
df.select($s"$x")
但這行得通——沒有s前綴它是如何作業的?這是正確的方法嗎?
df.select($"$x")
謝謝。
uj5u.com熱心網友回復:
是的,這是正確的$"$x",將回傳 column col("id")。它之所以有效,是因為該方法$在SQLImplicits中是這樣定義的:
implicit class StringToColumn(val sc: StringContext) {
def $(args: Any*): ColumnName = {
new ColumnName(sc.s(args: _*))
}
}
如您所見,我們呼叫StringContext.sc方法來進行字串插值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424398.html
標籤:斯卡拉 阿帕奇火花 apache-spark-sql 字符串格式
