1. Hive的元数据服务
hive metastore元数据服务用来存储元数据,所谓元数据,即hive中库、表、字段、字段所属表、表所属库、表的数据所在目录及数据分区信息。元数据默认存储在hive自带的Derby数据库。在内嵌模式和本地模式下,metastore嵌入在主hive server进程中。但在远程模式下,metastore 和 hive server是两个单独的服务,都由各自的进程管理
metastore服务独立出来之后,1个或多个客户端在配置文件中添加metastore的地址,就可以同时连接metastore服务,metastore再去连接MySQL数据库来存取元数据。
hiveserver服务主要目的 接收 SQL, 将SQL进行编译 优化 执行, 将SQL翻译为MR程序, 然后提交Yarn运行
BeeLine客户端向HiveServer服务提交SQL语句,HiveServer服务连接MetaStore获取元数据后,将SQL编译为MR程序执行
SparkSQL同样适用,SparkSQL语句提交给Spark集群,Spark执行引擎查询metastore服务获取元数据,将SparkSQL翻译为Spark RDD执行
一旦替换掉HiveServer2, 让Spark 和Hive的metastore进行集成, Spark的schema元数据信息就可以交给metastore统一管理
2.配置说明
2.1 spark添加metastore地址
spark/conf添加hive-site.xml,可以拷贝 hive/conf/hive-site.xml
主要添加配置:
hive.metastore.uris thrift://node3:9083
metastore服务 和 hiveserver2服务,我都启动在了node3机器,全部配置如下:
javax.jdo.option.ConnectionURL jdbc:mysql://node3:3306/hive3?createDatabaseIfNotExist=true&useSSL=false javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.server2.thrift.bind.host node3 hive.metastore.uris thrift://node3:9083 hive.metastore.event.db.notification.api.auth false
2.2 MySQL驱动包
MySQL的连接的驱动jar包拷贝到本地spark的jars目录
cd /export/server/hive/lib/
cp mysql-connector-java-5.1.32.jar /export/server/spark/jars/
版本号5.1.32可适当替换
spark on yarn运行模式下:需要上传一份到HDFS
hadoop dfs -put mysql-connector-java-5.1.32.jar /spark/jars
2.3 启动 Hadoop集群 和 Hive的metastore的服务
start-all.sh
nohup /export/server/hive/bin/hive --service metastore 2>&1 &
2.4 测试
-
cd /export/server/spark/bin/
./spark-sql --master local[*]
-
./hive
进入hive客户端, 然后在hive的客户端上, 创建库和表, 以及添加数据, 在spark-sql客户端上可以看到,。
同样,在spark-sql中创建库和表, 以及添加数据, 在hive的客户端也可以看到
说明SparkSQL和Hive集成成功
2.5 SparkSQL集成Hive在代码中实现
# 1.创建Spark SQL的核心对象: SparkSession # .enableHiveSupport() 开启和HIVE整合 # spark.sql.shuffle.partitions 宽依赖运行并行度 # hive.metastore.uris 元数据服务地址 # spark.sql.warehouse.dir spark数据存储目录和Hive保持一致 spark = SparkSession.builder \ .appName('spark on hive') \ .master('local[*]') \ .config('spark.sql.shuffle.partitions', 4) \ .config('hive.metastore.uris', 'thrift://node3.itcast.cn:9083') \ .config('spark.sql.warehouse.dir', 'hdfs://node1:8020/user/hive/warehouse') \ .enableHiveSupport() \ .getOrCreate() # 2. 执行相关的操作 spark.sql("select * from pyspark_hive.stu; ").show() # 3. 释放资源 spark.stop()
猜你喜欢
- 8天前(四川率先建立“双定向”基层文化人才职称评审通道机制)四川率先建立“双定向”基层文化人才职称评审通道机制
- 8天前(杭州西湖区万怡酒店正式开业了吗)杭州西湖区万怡酒店正式开业
- 8天前(天气预报 华为)2025HDC华为天气上新系统级天气智能体,引领更智能的气象服务
- 8天前(札幌小樽市)2024年暑期飞往北海道避暑吧!札幌小樽city walk路线推荐
- 8天前(纳米比亚旅游报价)纳米比亚旅游局2024年中国推介会圆满落幕
- 8天前(澳涞山庄见证北欧零碳到中国实践,世界十佳环境保护城市榜单发布)澳涞山庄见证北欧零碳到中国实践,世界十佳环境保护城市榜单发布
- 8天前(中国旅游集团旗下酒店)中国旅游集团酒店控股有限公司战略投资雅阁酒店集团
- 8天前(星级饭店的发展困境)星级饭店转型之路:从市场逻辑到行业实践的深度探索
- 8天前(辽宁新增6个国家4a级旅游景区有哪些)辽宁新增6个国家4A级旅游景区
- 8天前(内蒙古冬季旅游攻略)内蒙古冬日奇遇:携程租车带你策马踏雪
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章