IDEA中使用Spark SQL 连接Hive
Spark SQL命令行模式是可以直接连接Hive的,Hive的安装和mysql作为metastore配置可以参考文章。将hive-site.xml复制到Spark-Home/conf目录下即可。但是通常我们需要使用IDEA开发调试程序,在IDEA中连接Hive有些需要注意的地方,这里记录一下,折腾了一下午。
1. 复制hive-site.xml
将Spark-Home/conf目录下的hive-site.xml复制到IDEA工程的resource目录下
2. 修改入口
Spark 2.x版本将SparkContext和HiveContext整合起来,统一使用SparkSession作为连接入口。所以建立连接需要使用如下代码
val conf = new SparkConf()
conf.setAppName("WordCount").setMaster("local")
val hive = SparkSession.builder().enableHiveSupport().config(conf).getOrCreate()
hive.sql(xxx)
一定要加上enableHiveSupport(),不然使用的是默认的配置,不会读取hive-site.xml
若使用Spark 1.X版本可以通过如下代码使用Hive
val sc = new SparkContext(conf)
val hive = new HiveContext(sc)
hive.sql(xxxx)
3. 修改hive-site.xml
若出现下面这种问题
18/04/15 19:27:14 WARN NativeCodeLoader: Unable