sparksql和hive到底啥关系

author author     2023-03-22     718

关键词:

Hive是一种基于HDFS的数据仓库,并且提供了基于SQL模型的,针对存储了大数据的数据仓库,进行分布式交互查询的查询引擎。

SparkSQL并不能完全替代Hive,它替代的是Hive的查询引擎,SparkSQL由于其底层基于Spark自身的基于内存的特点,因此速度是Hive查询引擎的数倍以上,Spark本身是不提供存储的,所以不可能替代Hive作为数据仓库的这个功能。

SparkSQL相较于Hive的另外一个优点,是支持大量不同的数据源,包括hive、json、parquet、jdbc等等。SparkSQL由于身处Spark技术堆栈内,基于RDD来工作,因此可以与Spark的其他组件无缝整合使用,配合起来实现许多复杂的功能。比如SparkSQL支持可以直接针对hdfs文件执行sql语句。

参考技术A Spark SQL解决了这两个问题。
第一,Spark SQL在Hive兼容层面仅依赖HQL parser、Hive Metastore和Hive SerDe。也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了。执行计划生成和优化都由Catalyst负责。借助Scala的模式匹配等函数式语言特性,利用Catalyst开发执行计划优化策略比Hive要简洁得多。去年Spark summit上Catalyst的作者Michael Armbrust对Catalyst做了一个简要介绍:2013 | Spark Summit。
第二,相对于Shark,由于进一步削减了对Hive的依赖,Spark SQL不再需要自行维护打了patch的Hive分支。Shark后续将全面采用Spark SQL作为引擎,不仅仅是查询优化方面。
参考技术B spark SQL和hive到底什么关系
Spark SQL解决了这两个问题。
第一,Spark SQL在Hive兼容层面仅依赖HQL parser、Hive Metastore和Hive SerDe。也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了。执行计划生成和优化都由Catalyst负责。借助Scala的模式匹配等函数式语言特性,利用Catalyst开发执行计划优化策略比Hive要简洁得多。去年Spark summit上Catalyst的作者Michael Armbrust对Catalyst做了一个简要介绍:2013 | Spark Summit。
第二,相对于Shark,由于进一步削减了对Hive的依赖,Spark SQL不再需要自行维护打了patch的Hive分支。Shark后续将全面采用Spark SQL作为引擎,不仅仅是查询优化方面。
参考技术C 历史上存在的原理,以前都是使用hive来构建数据仓库,所以存在大量对hive所管理的数据查询的需求。而hive、shark、sparlSQL都可以进行hive的数据查询。shark是使用了hive的sql语法解析器和优化器,修改了执行器,使之物理执行过程是跑在spark上;而sparkSQL是使用了自身的语法解析器、优化器和执行器,同时sparkSQL还扩展了接口,不单单支持hive数据的查询,可以进行多种数据源的数据查询。本回答被提问者和网友采纳 参考技术D 历史上存在的原理,以前都是使用hive来构建数据仓库,所以存在大量对hive所管理的数据查询的需求。而hive、shark、sparlSQL都可以进行hive的数据查询。shark是使用了hive的sql语法解析器和优化器,修改了执行器,使之物理执行过程是跑在spark上;而sparkSQL是使用了自身的语法解析器、优化器和执行器,同时sparkSQL还扩展了接口,不单单支持hive数据的查询,可以进行多种数据源的数据查询。

SparkSQL vs Hive on Spark - 区别和利弊?

】SparkSQLvsHiveonSpark-区别和利弊?【英文标题】:SparkSQLvsHiveonSpark-Differenceandprosandcons?【发布时间】:2015-10-1504:45:02【问题描述】:SparkSQLCLI内部使用HiveQL,如果Hiveonspark(HIVE-7292),hive使用spark作为后端引擎。有人可以进一步说明一... 查看详情

功能关系模式和功能依赖关系图之间到底有啥区别

】功能关系模式和功能依赖关系图之间到底有啥区别【英文标题】:Whatexactlyisthedifferencebetweenafunctionalrelationalschemaandafunctionaldependenciesdiagram功能关系模式和功能依赖关系图之间到底有什么区别【发布时间】:2016-03-2401:57:54【问题... 查看详情

sparksql到底怎么搭建起来

...-tgz2、安装完spark1.0;3、安装与hadoop对应的CDH版本的hive;SparkSQL支持Hive案例:1、将hive-site.xml配置文件拷贝到$SPARK_HOME/conf下hive-site.xml文件内容形如:<?xmlversion="1.0"?><?xml-stylesheettype="text/xsl"href="configuration... 查看详情

sparksql快速入门(第二集)

1.前言SparkSQL是Spark用于结构化数据(structureddata)处理的Spark模块。1.1SparkSQL的作用SparkSQL的一种用途是执行SQL查询SparkSQL也可用于从现有Hive安装中读取数据1.2Hive和sparkSQL的关系SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的... 查看详情

hive和hbase有啥关系和区别

应该是Hadoop在hbase和Hive中的作用吧。hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储。而hbase是作为分布式数据库,而hive是作为分布式数据仓库。当然hive还是借用hadoop的MapReduce来完成一些hive中的命令的执行。而hbase... 查看详情

Hive 和 SparkSQL 不支持 datetime 类型?

】Hive和SparkSQL不支持datetime类型?【英文标题】:HiveandSparkSQLdonotsupportdatetimetype?【发布时间】:2017-10-2113:08:08【问题描述】:Hive和SparkSQL是不是真的不支持datetime的数据类型?根据我对参考资料的阅读,它们似乎只支持date和timest... 查看详情

tps和响应时间到底是啥关系?

参考技术A要把这个问题扯清楚,我们首先要知道TPS是代表什么?TPS代表服务器处理请求的能力。一般是指服务器每秒能处理的请求数。那么怎么得出服务器每秒能处理的请求数呢?我们进行性能测试时,需要模拟用户向服务器... 查看详情

科普|web3到底是什么?和区块链有啥关系?

这是白话区块链的第1645期原创 作者|Joyce出品|白话区块链(ID:hellobtc)最近一个月,web3在微信指数中的趋势数据,一度超过了区块链。从去年12月份开始,web3这个词突然出圈,进入传统互联网&#x... 查看详情

hive和sparksql优化(代码片段)

优化步骤问题定位,通过日志和代码分析,定位任务耗时长的原因hive任务,对于hive任务,可以通过日志查看哪个application、以及是哪个阶段耗时较长,另外,可以通过stage编号,结合explain查看执行计划... 查看详情

求问怎么设置sparksql读取hive的数据库

...器,修改了执行器,使之物理执行过程是跑在spark上;而sparksql是使用了自身的语法解析器、优化器和执行器,同时sparksql还扩展了接口,不单单支持hive数据的查询,可以进行多种数据源的数据查询。 参考技术B求问怎么设置sparks... 查看详情

微服务?数据库?它们之间到底是啥关系?

过去几年来,“微服务架构”这个术语持续火热,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,网点智能以及语言和数据的分散控制... 查看详情

在 Gradle 中,api 配置暴露了依赖关系,而实现却没有,这到底意味着啥?

】在Gradle中,api配置暴露了依赖关系,而实现却没有,这到底意味着啥?【英文标题】:Whatdoesitreallymeanthatapiconfigurationexposesdepedencieswhereasimplementationdoesnot,inGradle?在Gradle中,api配置暴露了依赖关系,而实现却没有,这到底意味着... 查看详情

sparksql教程与hive的兼容性(代码片段)

文章目录CompatibilitywithApacheHiveDeployinginExistingHiveWarehousesSupportedHiveFeaturesUnsupportedHiveFunctionalityIncompatibleHiveUDFCompatibilitywithApacheHiveSparkSQL旨在与HiveMetastore、SerDes和UDF兼容。目前H 查看详情

如何在hive/sparksql中使用窗口功能删除重叠部分

我有一个包含客户和产品信息的表。customer_idpromotion_idproduct_idRank155522211555223115559991155615421556222215562782155743231557434315574353某些促销在产品信息中重叠。例如,可以在产品222上使用promotion_id555和556。我想删除promotion_id556并重新排列... 查看详情

sparksql读取mysql的dept和hive的emp表,做join和分组查询,后写到json

valjdbcDF=spark.read.format("jdbc").option("url","jdbc:mysql://hadoop000:3306").option("dbtable","hive.dept").option("user","root").option("password","123456").load()jdbcDF.createOrReplaceTempView("de 查看详情

带有 HIVE 的 SparkSQL

】带有HIVE的SparkSQL【英文标题】:SparkSQLwithHIVE【发布时间】:2015-05-0204:11:10【问题描述】:我正在尝试使用SparkSQL使用HIVEContext,当我创建时valhContext=neworg.apache.spark.sql.hive.HiveContext(sc)我知道hive不是spark.sql中的成员,当我查看docu... 查看详情

sparksql字段血缘在vivo互联网的实践

...间的转换关系,这样对数据的质量,治理有很大的帮助。SparkSQL相对于Hive来说通常情况下效率会比较高,对于运行时间、资源的使用上面等都会有较大的收益。平台计划将Hive任务迁移到Spar 查看详情

htmlcssjsdom树到底是啥关系

形象一点说就是,html相当于人里面的器官,组成了人体;而Css就是你穿着的衣服,即使html网页结构相同,但是如果你的css变化的话整个网页也是可以变化的,而js就是发蜡,香水之类的可以使你的网页更加丰富的脚本语言;整... 查看详情