Spark获取DataFrame中列的几种姿势--col,$,column,apply

1.doc上的解释(https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Column.html)
 df("columnName")            // On a specific DataFrame.
   col("columnName")           // A generic column no yet associated with a DataFrame.
   col("columnName.field")     // Extracting a struct field
   col("`a.column.with.dots`") // Escape `.` in column names.
   $"columnName"               // Scala short hand for a named column.
   expr("a + 1")               // A column that is constructed from a parsed SQL Expression.
   lit("abc")                  // A column that produces a literal (constant) value.

2.使用时涉及到的的包

   import spark.implicits._
   import org.apache.spark.sql.functions._
   import org.apache.spark.sql.Column
3.示例
scala> val idCol = $"id"
idCol: org.apache.spark.sql.ColumnName = id
 
scala> val idCol = col("id")
idCol: org.apache.spark.sql.Column = id
 
scala> val idCol = column("id")
idCol: org.apache.spark.sql.Column = id
scala> val dataset = spark.range(5).toDF("text")
dataset: org.apache.spark.sql.DataFrame = [text: bigint]
 
scala> val textCol = dataset.col("text")
textCol: org.apache.spark.sql.Column = text
 
scala> val textCol = dataset.apply("text")
textCol: org.apache.spark.sql.Column = text
 
scala> val textCol = dataset("text")
textCol: org.apache.spark.sql.Column = text

 

转载于:https://www.cnblogs.com/itboys/p/10962665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值