本博文主要包含以下内容:
- String+SQL技术实现解析
- Streaming+SQL实现实战
一:SparkString+SparkSQL技术实现解析:
使用Spark Streaming + Spark SQL 来在线计算电商中不同类别中最热门的商品排名,例如手机这个类别下面最热门的三种手机、电视
这个类别下最热门的三种电视,该实例在实际生产环境下具有非常重大的意义;
实现技术:SparkStreaming+Spark SQL,之所以SparkStreaming能够使用ML、sql、graphx等功能是因为有foreach何Transformation等
接口,这些接口中其实是基于RDD进行操作的,所以以RDD为基石,就可以直接使用Spark其他所有的功能,就像直接调用API一样简单, 假设说这里的数据的格式:user item category,例如Rocky Samsung Android
二:SparkStreaming+SparkSQL实现实战:
1、代码如下:
object OnlineTheTop3ItemForEachCategory2DB {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("OnlineForeachRDD2DB").setMaster("local[2]")
val ssc = new StreamingContext(conf, Seconds(5))
ssc.checkpoint("/root/Documents/SparkApps?checkpoint")
val userClickLogsDStream = ssc.socketTextStream("Master", 9999)
val formattedUserClickLogDStream = userClickLogsDStream.map(clickLog =>
(clickLog