首页 > 其他分享 >大数据--pyspark远程连接hive

大数据--pyspark远程连接hive

时间:2022-12-22 13:45:23浏览次数:66  
标签:pyspark -- 虚拟机 hive metastore sql spark

上一篇文章介绍了python连接hive的过程,通过地址+端口号访问到hive并对hive中的数据进行操作,这一篇文章介绍一下怎么通过windows本地pyspark+本地部署好的spark+远程虚拟机的hive,完成本地pyspark对hive的访问。

一.环境介绍

(1)关于pyspark

这个是之前就已经部署好的,本地安装了hadoop、scala、spark之后,配置好对应的系统环境变量,在python中下载好pyspark包,就可以了

image

image

(2)关于hive

这个是前几篇文章中介绍的hive部署,在虚拟机node01上完成了部署

image


二.pyspark连接hive

其实pyspark只是一个python接口,实际的连接hive操作是由spark完成的,也就是之前本地下载的spark,那么想要spark能够连接上hive,就需要将hive的一些配置文件放到spark中,让spark可以通过配置文件中的metastore.uris找到hive的元数据库,从而访问hive,在上一篇文章中提到了hive的hive-site.xml上配置了metastore的地址为node01的地址+端口号,那么将hive-site.xml放到spark中,spark就明白要到这个地址去找到hive啦。

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://192.168.121.130:9083</value>
    <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>

1.配置文件

(1)将虚拟机上hive的conf文件夹下的hive-site.xml,复制到本地spark的conf文件夹中

image

(2)将虚拟机上hive的lib文件夹下的mysql连接包mysql-connector-java-5.1.47(也是前面文章中部署hive时提到的),复制到本地spark的jars文件夹中

image

3.修改hosts

在C:\Windows\System32\drivers\etc中修改HOSTS文件,在下方添加虚拟机的地址

image

image

如果忘记了虚拟机服务器的地址,可以使用以下命令查看(也是前面在部署hive时就已经设置好了的)

cat /etc/hosts

image


三.测试连接

在完成了上面的操作后,spark就已经可以访问到hive了,下面分别通过本地spark-shell和pyspark操作来查看是否配置成功

1.spark-shell

(1)进入spark-shell

直接命令行输入spark-shell(在配置好环境变量的情况下)

image

(2)语句

①导入hivecontext包

import org.apache.spark.sql.hive.HiveContext

②构建hivecontext

val hc = new HiveContext(sc)

③使用sql语句查看数据库

hc.sql("show databases").show

image


2.pyspark

这里很多老的教程会使用hc=hiveContext进行构建,然后使用hc.sql进行查询,然后导致查询结果错误,这样其实spark是不支持的,spark在2.x后就弃用了这种方法。具体的更多详细用法请参考官方文档

from pyspark.sql import SparkSession


spark = SparkSession \
    .builder \
    .appName("Python Spark SQL Hive integration example") \
    .enableHiveSupport() \
    .getOrCreate()
spark.sql("show databases").show()

image


总之如果前面一切都已经配置好了,想要使spark能够连接hive还是很简单的,复制一下配置文件就可以了,后面都是一些连接测试

标签:pyspark,--,虚拟机,hive,metastore,sql,spark
From: https://www.cnblogs.com/Studywith/p/16998361.html

相关文章

  • 38正则表达式记录
    一.正则表达式记录下目前常用的,后续用到新的会持续更新-0-0-正则:用来匹配字符串的一门表达语言练习:https://tool.oschina.net/regex/1.正则支持普通字符2.元字符(用一......
  • 视频-音频-2022-12-22
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>视频和音频</title></head><body><!--视频controls可见开启关闭autoplay--><videosrc="......
  • PPT 稳妥选用字体
    字体怎么选商务报告PPT字体怎么选广告宣传PPT字体怎么选发布会PPT字体怎么选教学课件PPT字体怎么选--小学以下教学课件PPT字体怎么选--中学以上印刷阅读PPT字......
  • spring boot 配置Bean
    packagecom.example.demo.config;importcom.example.demo.entiy.User;importorg.springframework.context.annotation.Bean;importorg.springframework.context.an......
  • Win10使用管理员方式开机启动程序
    1、打开任务计划程序右键“此电脑”,选择“管理”,进入“计算机管理”页面。点击“系统工具”中的“任务计划程序”。2、创建任务在“任务计划任务”面板右侧,点击“创建......
  • nginx 配置服务端地址
    server{listen8099;server_namelianghj.top;#charsetkoi8-r;#access_loglogs/host.access.logmain;......
  • 期中考试题
    校园社团活动管理系统(20分)1、项目需求:校园社团作为高校课外活动的重要组成部分,发展十分迅速,也受到越来越多学生的欢迎,社团规模、数量等都在日益增长,社团活动也更为多样和......
  • PPT 动画-文字渐入
    插入文字,居中对齐选中文字,将不透明度调成100%,让文字消失不见......
  • Java编程思想1
    第一章:对象导论  这一章主要是帮助我们了解面向对象程序设计的全貌,更多是介绍的背景性和补充性的材料。其实萌新应该跳过这一章,因为这章并不会去讲语法相关的知识,当然可......
  • Java编程思想2
    第四章:控制执行流程  本章介绍了大多数编程语言都具有的基本特性:运算、操作符优先级、类型以及选择和循环等。例如布尔表达式、循环如while、do-While、for、分支判断如i......