基于Hadoop的Lambda架构实现案例研究
1. 使用Spark SQL与Hive交互
Spark使用数据帧(DataFrames)和弹性分布式数据集(RDDs)作为内存结构,可用于查询和提升性能。通过 sqlContext
,Spark能对Hive数据库执行查询。以下是使用Scala语言,结合现有 SparkContext
( sc
)的操作步骤:
1. 创建HiveContext :
scala val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
2. 执行HiveQL命令创建表和插入数据 :
scala val sqlContext.sql("Create table MaxTable as select ViewName, max(CreatedAt) from BatchProcHist group by ViewName having ViewName = 'ClaimDefView'") val sqlContext.sql("Insert into MaxTable select ViewName, max(CreatedAt) from BatchProcHist group by ViewName having ViewName = 'ClaimDefView_S'")
3. 创建速度层视图并查询结果 :