函数名称:makeDT。
函数功能:将3个字符串连接起来,以空格隔开。
函数示例:
1)定义Purchase的case class类,其成员变量为顾客ID、购买ID、日期、时间、时区、金额,构建Purchase类型的Seq集合变量pur。
2)导入spark的sqlContext隐式转换类import sqlContext.implicits._,用于将一个RDD隐式转换为一个DataFrame。
3)通过sc的parallelize方法读入pur数据,调用toDF()方法转换成DataFrame,注册成临时表purchaseTable。
4)定义makeDT函数,传入三个参数:日期、时间、时区,将日期、时间、时区三个字符串连接起来,以空格分隔。
5)在sqlContext.udf中注册makeDt的自定义函数,makeDt_是偏函数,makeDt函数中传入日期、时间、时区,将三者以空格连接成一个字符串。
6)在临时表purchaseTable中执行查询操作,查询金额、日期时间时区,打印出结果。
创建case class Purchase。
输入数据。(www.xing528.com)
导入sqlContext.implicits._隐式函数。如果不导入implicits._,调用方法toDF()时会报错。
scala>import sqlContext.implicits._
import sqlContext.implicits._
加载数据,将其注册为表,表名为:purchaseTable。
scala>sc.parallelize(pur).toDF().registerTempTable("purchaseTable")
makeDT函数的功能是:将3个字符串连接起来,以空格隔开。
注册名为makeDT的自定义函数,注意makeDT与_之间存在一个空格,这在Scala的语法中被称作偏函数(Partially Function)。
执行查询操作,将makeDT(date,time,tz)的结果列重命名为datetime,在Driver上打印结果。
执行查询操作,其中unix_timestamp是Spark SQL的内置函数,在Driver上打印结果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。