Spark如何在Windows本地接入Hive
这篇文章主要介绍Spark如何在Windows本地接入Hive,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联公司IDC提供业务:绵阳电信机房机柜租用,成都服务器租用,绵阳电信机房机柜租用,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。
方案一:Jdbc直连Hive
PS:确认Hive服务是否启动,进入到Hive服务器进行以下操作 1.先开启 metastore hive --service metastore & 2.开启hiveserver2,默认端口是10000 hive --service hiveserver2 & 3.验证是否开启成功 netstat -ntulp | grep 10000 输出:tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 27799/java 即为服务开启成功
代码实现
方案二:SparkSession直连Hive
初始化并创建Sparksession,代码实现
使用Sparksession查询
查询结果
注:连接Hive无需初始化声明注册方言
特别注意,若不加载hive-site.xml时,需在config中配置:
此配置来源于Hive服务器conf/hive-site.xml中配置项
本地还需配置hosts
附:Spark方式Windows开发环境异常及解决方案
异常1:Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------
解决方式: 1.配置Hadoop本地环境变量
2.打开cmd命令窗口,进入到本地spark-2.3.1-bin-hadoop2.7\bin目录
3.运行以下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.验证效果
异常2:Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: HzCluster
原因:本地Spark连接Hive集群时未能发现Hadoop集群,需装载hdfs配置。 解决方式: 1.拷贝hadoop/conf目录下的core-site.xml和hdfs-site.xml文件到项目${path}/conf目录下
2.拷贝hive/conf目录下的hive-site.xml文件到项目${path}/conf目录下
[重要]修改hive-site.xml文件内容,仅保留以下配置
3.初始化Sparksession时装载Hive、Hdfs的配置文件
以上是“Spark如何在Windows本地接入Hive”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
网页题目:Spark如何在Windows本地接入Hive
文章源于:http://scjbc.cn/article/gjpoeg.html