Spark-Sql创建多数据源Join实例——涉及关系库数据源
1、Spark-Sql数据来源有多种,Hive,Kakfa,RDD及关系库等。
2、注册临时表与关系库映射表的join实现,核心思想就是,Hive和关系库的数据,分别加载出来做成dataframe,然后分别注册成临时表。
import java.util.Properties
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.Row
import org.apache.spark.sql.types._
/**
* Created by wuke on 2016/5/26.
*/
object MultiDataSource {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setMaster("local")
.setAppName("MultiDataSource")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
// 这里着重说明一下!!!
// 要使用Spark SQL的内置函数,就必须在这里导入SQLContext下的隐式转换
import sqlContext.implicits._
// 构造用户访问日志数据,并创建DataFrame
// 模拟用户访问日志,日志用逗号隔开