新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Spark如何在Windows本地接入Hive
這篇文章主要介紹Spark如何在Windows本地接入Hive,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司IDC提供業(yè)務(wù):綿陽電信機(jī)房機(jī)柜租用,成都服務(wù)器租用,綿陽電信機(jī)房機(jī)柜租用,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。
方案一:Jdbc直連Hive
PS:確認(rèn)Hive服務(wù)是否啟動(dòng),進(jìn)入到Hive服務(wù)器進(jìn)行以下操作 1.先開啟 metastore hive --service metastore & 2.開啟hiveserver2,默認(rèn)端口是10000 hive --service hiveserver2 & 3.驗(yàn)證是否開啟成功 netstat -ntulp | grep 10000 輸出:tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 27799/java 即為服務(wù)開啟成功
代碼實(shí)現(xiàn)
方案二:SparkSession直連Hive
初始化并創(chuàng)建Sparksession,代碼實(shí)現(xiàn)
使用Sparksession查詢
查詢結(jié)果
注:連接Hive無需初始化聲明注冊(cè)方言
特別注意,若不加載hive-site.xml時(shí),需在config中配置:
此配置來源于Hive服務(wù)器conf/hive-site.xml中配置項(xiàng)
本地還需配置hosts
附:Spark方式Windows開發(fā)環(huán)境異常及解決方案
異常1:Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------
解決方式: 1.配置Hadoop本地環(huán)境變量
2.打開cmd命令窗口,進(jìn)入到本地spark-2.3.1-bin-hadoop2.7\bin目錄
3.運(yùn)行以下3條命令 %HADOOP_HOME%\bin\winutils.exe ls \tmp\hive %HADOOP_HOME%\bin\winutils.exe chmod 777 \tmp\hive %HADOOP_HOME%\bin\winutils.exe ls \tmp\hive
4.驗(yàn)證效果
異常2:Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: HzCluster
原因:本地Spark連接Hive集群時(shí)未能發(fā)現(xiàn)Hadoop集群,需裝載hdfs配置。 解決方式: 1.拷貝hadoop/conf目錄下的core-site.xml和hdfs-site.xml文件到項(xiàng)目${path}/conf目錄下
2.拷貝hive/conf目錄下的hive-site.xml文件到項(xiàng)目${path}/conf目錄下
[重要]修改hive-site.xml文件內(nèi)容,僅保留以下配置
3.初始化Sparksession時(shí)裝載Hive、Hdfs的配置文件
以上是“Spark如何在Windows本地接入Hive”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:Spark如何在Windows本地接入Hive
分享鏈接:http://www.ef60e0e.cn/article/gjpoeg.html