groupID =org.apache.spark
artifactID = spark-hive_2.10
version = 1.2.0
5. 在应用使用Spark
5.1 初始化Spark
//Sacla中SQL的import的声明import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.SQLContext
//Scala中SQL导入隐式转换支持val hiveCtx = ...//创建HiveContextimport hiveCtx._//导入隐式转换支持//创建SQL上下文环境val sc = new SparkContext(...)
val hiveCtx = new HiveContext(sc)
5.2 基本的查询示例
val input = hiveCtx.jsonFile(inputFile)
//注册输入的SchemaRDD
input.registerTempTable("tweets")
//依据tetwwtCount(转发计算)宣传推文val topTweeter = hiveCtx.sql("SELECT text,retweetCount FROM tweets ORDER BY retweetCount LIMIT 10")
6. 用户自定义函数(UDF)
Scala版本的字符串长度UDF
registerFunction("strLenScala",(_:string).length)
val tweetLength = hiveCtx.sql("SELECT strLenScala('tweet') FROM tweets LIMIT 10")