当前位置: 首页 > news >正文

深圳西乡建网站营销推广网站

深圳西乡建网站,营销推广网站,传奇高爆网页游戏,制作短链接网站文章目录 集成hive metastoreSQL测试spark-sql 语法SQL执行流程两种数仓架构的选择hive on spark数仓配置经验 spark-sql没有元数据管理功能,只有sql 到RDD的解释翻译功能,所以需要和hive的metastore服务集成在一起使用。 集成hive metastore 在spark安…

文章目录

    • 集成hive metastore
    • SQL测试
    • spark-sql 语法
    • SQL执行流程
    • 两种数仓架构的选择
    • hive on spark数仓配置
    • 经验

spark-sql没有元数据管理功能,只有sql 到RDD的解释翻译功能,所以需要和hive的metastore服务集成在一起使用。

集成hive metastore

在spark安装目录conf下,新增hive-site.xml配置文件,内容如下:

<configuration><!-- 指定存储元数据metastore要连接的地址 --><property><name>hive.metastore.uris</name><value>thrift://127.0.0.1:9083</value><description>URI for client to connect to metastore server</description></property><!--配置数据表数据存储目录--><property><name>hive.metastore.warehouse.dir</name><value>/home/datahouse/hive/warehouse</value></property>
</configuration>

然后,就是要保证,hive + hadoop的数仓已能正常运行。因为spark需要使用hive的metastore服务,所以hive的相关服务得正常运行。可以参考 【数据仓库】hive + hadoop数仓搭建实践文章。

集成完成后就可以开始启动spark-sql了。

SQL测试

到spark 的bin目录,执行

./spark-sql

如下:

[root@yd-ss bin]# ./spark-sql
24/12/27 14:49:53 WARN Utils: Your hostname, yd-ss resolves to a loopback address: 127.0.0.1; using XX.XX.XX.XX instead (on interface bond0)
24/12/27 14:49:53 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
24/12/27 14:49:54 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Spark master: local[*], Application Id: local-1735282198034
spark-sql> 

执行如下脚本:

show database;

输出:

spark-sql> show databases;
db_msg
default
test
Time taken: 6.644 seconds, Fetched 3 row(s)

可以看到之前在hive+hadoop数仓下建的库都可以通过spark-sql 查出来了,因为两者共用了一个metastore服务,元数据是一样的,数仓地址也是一样的。

spark-sql 语法

由于spark-sql 使用的元数据管理是hive的元数据服务,所以,spark-sql的语法可以理解为和hive SQL是一样的。

SQL执行流程

在这里插入图片描述

上图是hive sql 和 spark sql的执行流程图及框架图。可以看出:

1 hive 偏重的是 hive sql 解释 和 元数据管理,分布式计算和存储依赖于hadoop的MR和HDFS;

2 spark 偏重的是spark sql 解释 和 RDD分布式计算,元数据管理和分布式存储依赖于hive 的 metastore服务和hadoop的HDFS;

3 提供两种数仓数据分析工具 hive sql 和 spark sql,都可以使用数据库客户端工具去连接访问。

两种数仓架构的选择

上图,体现了两种数仓的架构。

hive + hadoop 数仓:分布式计算使用MR,性能计算很慢,在BI数据集配置时,经常会超时;

spark + hive (metastore) + hadoop(HDFS)数仓:分布式计算使用spark RDD ,性能计算快,但还要维护hive ,架构较复杂;

如果基于hive + hadoop 数仓,将MR分布式计算框架换成 Spark RDD的计算框架,是不是就很完美了,强强联合。

hive on spark数仓配置

hive sql 会被解释为Spark RDD 计算执行。

一开始也是怀着激动的心来的,因为hive on MR 实在是太慢了,spark又非常快,两者强强联合,岂不是最佳实践。网上也搜到了很多教程,但都是对于hive的低版本的。但是现实却发生了变化。

在进行该配置之前,需要了解下hive和spark的匹配关系。

hive 4.0 版本的源码pom中已经看不到引用的spark版本了,有可能在4.0版本放弃了spark的支持。

经过查找4.0版本的官方文档,可以看到:

https://hive.apache.org/docs/latest/overview-of-major-changes_283118379/

在这里插入图片描述

可以看到直接就是移除了spark,还不是废弃。最新的版本hive4.0已经不支持spark集成了。这也是为什么在hive sql 会话下,执行

set hive.execution.engine=spark;

会报错

[42000][1] Error while processing statement: 'SET hive.execution.engine=spark' FAILED in validation : Invalid value.. expects one of [mr, tez].

如果想继续使用hive on spark 架构,就只能使用hive 4.0 以前的版本了。

在hive4.0之前的版本hive3.1.3中,依赖的spark 版本为2.3.0,太旧了。

但是可以尝试基于hive3.1.3的源码,修改saprk的版本为新版本重新编译。这里不再往下探究。

毕竟hive4.0 已经移除了spark,数仓搭建技术还是以hive为主,因为它稳定。官方提供了Tez的执行引擎替代MR。也能提高hive的执行效率。

经验

1 hive 4.0移除了saprk支持,只能使用MR和Tez,意味着往后版本,hive on spark就不存在了,若想使用,需要将hive换到4,0以前的版本;

2 spark on hive可以继续使用,但这个是以spark为主,利用hive的元数据服务;但总是感觉没有hive专业;

3 hive4.0往后当数仓使用,需要集成TEz引擎,以提升效率。

http://www.mnyf.cn/news/48969.html

相关文章:

  • 网站开发属于软件开发吗营销背景包括哪些内容
  • 最近2019中文字幕mv免费看百度seo推广软件
  • 网站建设和微站建设的区别关键词制作软件
  • 韩雪冬个人网站搜索引擎网站优化推广
  • 网站建设与管理实践报告鹤壁网络推广哪家好
  • 做旅游宣传哪个网站好不花钱网站推广
  • 做阿里巴巴网站要多少钱搜索优化整站优化
  • 大连哪个公司做网站好郑州整站关键词搜索排名技术
  • 发新闻稿做新闻源对网站有啥帮助怎么做网络推广
  • 企业oa系统是什么知乎关键词排名优化
  • 网站素材设计广州seo公司
  • 哪个网站做体检预约的培训机构排名一览表
  • 网络营销管理培训seo发包技术教程
  • 网站服务器基本要素有哪些百度提交网站
  • 青阳做网站青岛网站seo公司
  • 微商城网站建设平台合同范本免费的网页网站
  • 如何设计软件界面seo是什么工作
  • 新公司怎么做网站整合营销推广
  • 电子商务网站创建的4个阶段seo投放是什么意思
  • 济宁做网站哪家比较好营销型网站推广方案
  • 诸暨建设局网站网页制作公司
  • 自己主机做标签电影网站百度竞价推广属于什么广告
  • 服务关系型网站怎么做品牌网站建设制作
  • 海南开发公司百度怎么优化排名
  • 自适应网站和响应式网站的区别石家庄做网站推广排名的公司
  • 网站后台访问权限设置搜索引擎优化排名优化培训
  • 制作建设工程人员查询谷歌优化排名公司
  • 过期网站.新网站推广方法
  • 广州做网站公司哪家好乔拓云网站建设
  • 怎么建立自己公司的网站搜索引擎关键词怎么选