hive on spark 和 spark sql 有啥区别?

hive on spark 和 spark sql 都是用spark引擎计算,个人觉得没啥区别。
网友说:
hive on spark 是cloudera公司开发的,spark sql是spark开发的,这个算是区别吗?
写法不同?

请大神解答。

0

1个回答

SparkSQL和Hive On Spark都是在Spark上实现SQL的解决方案。Spark早先有Shark项目用来实现SQL层,不过后来推翻重做了,就变成了SparkSQL。这是Spark官方Databricks的项目,Spark项目本身主推的SQL实现。Hive On Spark比SparkSQL稍晚。Hive原本是没有很好支持MapReduce之外的引擎的,而Hive On Tez项目让Hive得以支持和Spark近似的Planning结构(非MapReduce的DAG)。所以在此基础上,Cloudera主导启动了Hive On Spark。这个项目得到了IBM,Intel和MapR的支持(但是没有Databricks)。
结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序。需要理解的是,Hive和SparkSQL都不负责计算,它们只是告诉Spark,你需要这样算那样算,但是本身并不直接参与计算。
Spark官方Databricks本身是不愿意承认Hive On Spark的正统地位的。Shark, Spark SQL, Hive on Spark, and the future of SQL on Spark从它们官博上可以看出他们对Hive On Spark的定位更像是小三而不是正房。所以你看到Apache Hive On Spark的各种努力,并没有得到最重要的Spark Vendor,Databricks的多少支持。SQL是面对用户最直接的一个层面,如果Databricks能控制这个层面,各种功能添加都由自己做主,就不用受制于Hive的社区,这也是很直接的好处,而且我觉得引擎就位之后几个厂商拼的都是上层,要搞出数据仓库还有很多东西要做,但是如果把不住SQL这层,就很难办。但Hive毕竟有辣嘛多厂商支持,D社是否能拿到主控权,还不好说。D社已经有废掉Shark的前科,所以我不是很看好SparkSQL。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Spark 和 Hive之间的区别
大概区别也就是:两个不同的sql翻译引擎吧!正如如下图片中所说的! http://blog.csdn.net/dax1n/article/details/56009813
Spark SQL和Hive使用场景?
作者:狗叔 链接:https://www.zhihu.com/question/36053025/answer/121404733 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 Hive是什么?一个建立在分布式存储系统(这里指HDFS)上的SQL引擎。 为什么要有Hive呢?因为有了Hadoop后,大家发现存储和计算都有了,但是用起来很困难。去厂商那里一看,清一色Ora
大数据-----》》》hive和sparksql的对比
spark sql可以使用hive里面的表,并做操作,并且会很快 但是需要做如下配置 1.hive-site.xml hive的元数据配置文件要拷贝到spark的conf路径下 2.spark的启动要加上--jars mysql连接jar包的路径      如果还是出现错误: Exception in thread "main" java.sql.SQLException: No sui...
Impala,Hive,SparkSQL数据清洗后对后续查询的影响比较
Impala,Hive,SparkSQL数据清洗后对手续查询的影响比较 SparkSQL和Impala执行的时间会比较快,Hive明显慢很多,但是这里比较不是执行单次查询效率,而是三种方式清洗后数据产生结果小文件对后续使用的影响。 首先准备好2000万表记录,作为外部表建好。 然后把出生日期星座划分,结果生成表格存放。三种方式存放3个不同表格。 ####################
hive和spark-sql计算stddev的结果差异
hive和spark-sql中的标准差计算方式
同一个sql 在Hive和spark-sql 跑出结果不一样记录
表Schema hive> desc gdm.dim_category; name string 分类名称 org_code string ...
SparkSQL与Hive的应用关系
Spark生态圈 Spark是基于scala语言产生的,因此有关spark中的各大编程应用也基本跟scala脱不开关系,但是好在spark的平台化做的不错,目前可支持python及R等语言的应用,这些得益于sparkSQL组件的存在,整个spark的结构组件如下如所示: 关于spark的组件功能描述不多说,可以参考博客spark入门系列及 官方资料等,保证有个初步的印象。 SparkSQL在
hiveudf和sparkudf开发应用和对比
udf:user define function:用户自定义函数 hive中udf的开发和运用非常普遍 hive中的udf都放在-i的初始化文件里面。所以hive的udf弄好了和hive的内置函数是一样的,但是spark中就不行,因为它是在代码里面嵌入进去,所以不通用。 sparksql里udf开发用的不多,原因有2: 1,无法固化,只能在每个程序内使用,所以无法其他作业复用。如果每个应用
分析挖掘(大数据):hive、impala、 Spark MLlib概述、原理
hiveHive是一个构建于Hadoop顶层的数据仓库工具,支持大规模数据存储、分析,具有良好的可扩展性。某种程度上可以看作是用户编程接口,本身不存储和处理数据。依赖分布式文件系统HDFS存储数据,依赖分布式并行计算模型MapReduce处理数据。定义了简单的类似SQL 的查询语言——HiveQL,用户可以通过编写的HiveQL语句运行MapReduce任务,可以很容易把原来构建在关系数据库上的数...
Spark之UDF、UDAF详解
对于一个大数据处理平台而言,倘若不能支持函数的扩展,确乎是不可想象的。Spark首先是一个开源框架,当我们发现一些函数具有通用的性质,自然可以考虑contribute给社区,直接加入到Spark的源代码中。我们欣喜地看到随着Spark版本的演化,确实涌现了越来越多对于数据分析师而言称得上是一柄柄利器的强大函数,例如博客文章《Spark 1.5 DataFrame API Highlights: D...
spark是什么?spark和MapReduce的区别?spark为什么比hive速度快?
spark是什么? spark是针对于大规模数据处理的统一分析引擎,通俗点说就是基于内存计算的框架 spark和hive的区别? 1.spark的job输出结果可保存在内存中,而MapReduce的job输出结果只能保存在磁盘中,io读取速度要比内存中慢; 2.spark以线程方式运行,MapReduce以进程的方式运行,进程要比线程耗费时间和资源; 3.spark提供了更为丰富的算子操...
SparkSQL与Hive on Spark的区别与联系
简要介绍了SparkSQL与Hive on Spark的区别与联系 一、关于Spark 简介 在Hadoop的整个生态系统中,Spark和MapReduce在同一个层级,即主要解决分布式计算框架的问题。 架构 Spark的架构如下图所示,主要包含四大组件:Driver、Master、Worker和Executor。 Spark特点 Spark可以部署在
spark、hive、MR数据清洗的区别
Q: 如题三者都可以进行数据清洗,区别是什么?各自使用场景是什么? A: Spark处理任务比MR快,但是对内存消耗是很大的。 多数场景优先考虑hive进行数据清洗,少部分会单独编写MR或者Spark程序进行复杂处理。 Spark自然适合实时数据处理,例如公司现在放贷业务需要30s放款或拒绝,spark是最合适的。 如果不要求实时处理,只是单纯数据量大,MR则是合适的选择。 现在在做...
Spark SQL & Spark Hive编程开发, 并和Hive执行效率对比
Spark SQL也公布了很久,今天写了个程序来看下Spark SQL、Spark Hive以及直接用Hive执行的效率进行了对比。以上测试都是跑在YARN上。   首先我们来看看我的环境: 3台DataNode,2台NameNode,每台机器20G内存,24核数据都是lzo格式的,共336个文件,338.6 G无其他任务执行 如果想及时了解Spark、Hadoop或者Hbase
Presto与Spark SQL查询性能比较
1. 数仓环境 指标名称 指标值 数据总量 24T 分区数量 24 存储类型 Text Spark SQL版本 Pres同版本 2. 分页查询 所有的计算时间都以秒为单位,执行的SQL语句如下: select * from mydb where year='2018' and month='09' and day='09' and remote_addr='...
Spark SQL兼容Hive及扩展
前言      相比于Shark对Hive的过渡依赖,Spark SQL在Hive兼容层面仅依赖HQL Parser、Hive Metastore和Hive SerDes。也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了,执行计划生成和优化都由Catalyst负责。本文接下来对于Spark SQL在兼容Hive过程中对于Catalog,SqlParser,A
hadoop、spark、Hbase、Hive、hdfs,是什么
1Hbase:是一个nosql数据库,和mongodb类似。 2hdfs:hadoop distribut file system,hadoop的分布式文件系统。 3Hive: 用来处理结构化(关系型数据库中的数据,如oracle)或者非结构化数据(如10G的txt文本中的数据)。 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件(或者非结构化的数据)映射为一张
【七】Spark SQL命令和Spark shell命令操作hive中的表
1.把hive的配置文件hive-site.xml复制到spark/conf下。 2.启动的时候带上MySQL的连接驱动 Spark-shell命令使用 spark-shell是通过得到sparksession然后调用sql方法执行hive的sql。 cd /app/spark/spark-2.2.0-bin-2.9.0/bin ./spark-shell --master local[...
impala与hive的比较以及impala的优缺点
Impala相对于Hive所使用的优化技术没有使用MapReduce进行并行计算,虽然MapReduce是非常好的并行计算框架,但它更多的面向批处理模式,而不是面向交互式的SQL执行。与MapReduce相比:Impala把整个查询分成一执行计划树,而不是一连串的MapReduce任务,在分发执行计划后,Impala使用拉式获取数据的方式获取结果,把结果数据组成按执行树流式传递汇集,减少了把中间结...
spark从入门到放弃三十二:Spark Sql(5)hive sql 简述
文章地址:http://www.haha174.top/article/details/256688 1 简述 Spark Sql 支持对Hive 中存储的数据进行读写。操作Hive中的数据时,可以创建HiveContext,而不是SqlContext.HiveContext 继承自SqlContext,但是增加了在Hive元数据库中查找表,以及用HiveQl 语法编写sql功能,除了s...
spark sql 使用hive作为数据源
本来是很简单的一件事,代码也不复杂,如下: 代码: public class LocationFromHiveDataSource {     @SuppressWarnings("deprecation")     public static void main(String[] args) {         // 首先还是创建SparkConf         SparkCo
Spark-sql与hive的结合环境配置
转:zx老师 ######################################## alter database hive character set latin1; ALTER TABLE hive.* DEFAULT CHARACTER SET latin1; ######################################## 1.安装hive C
Spark是否能替代Hive
在实际生产环境中已经形成了离线以Hive为主,Spark为辅, 实时处理用Flink的大数据架构体系及Impala, Es,Kylin等应用查询引擎 但是有很多学习Spark的程序员普遍认为Spark必然会替代Hive成为新的一代大数据仓库标准 同时,培训市场也出现了Hive已经落后,学习大数据只要学习Spark相关言论 但结合实际工作的情况来看,这类说法和实际情况并不相符,本文针对数据仓库...
spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比(含parquet/orc)
spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比(含parquet/orc)
spark sql hive批量导入文本文件
在很多情况下,会需要将批量生成(如按天生成的记录)导入到HIVE中。针对这种应用场景,进行实验。 首先需要进行文件目录的遍历,借助SCALA强大的函数式编程能力,利用ARRAY中的MAP函数进行操作即可。 如函数如下: def LoadIntoHive(sc:HiveContext,dir:String):Unit=        {              var cdrDi
通过Spark结合使用Hive和ORC存储格式
在这篇博客中,我们将一起分析通过Spark访问Hive的数据,主要分享以下几点内容:1.      如何通过Spark Shell交互式访问Spark2.      如何读取HDFS文件和创建一个RDD3.      如何通过Spark API交互式地分析数据集4.      如何创建Hive的ORC格式的表5.      如何使用Spark SQL查询Hive表6.      如何以ORC格式存
[Hadoop] 使用Spark SQL来访问Hive里面的数据
1. 环境准备 1.1 安装Hive 1.2 安装Spark 1.3 拷贝hive的conf下的hive-site.xml到spark的conf目录下 [hadoop@hadoop000 ~]$ cd app/spark [hadoop@hadoop000 spark]$ cp ~/app/hive-1.1.0-cdh5.7.0/conf/hive-site.xml conf/ 1.4...
sparksql写入hive合并小文件
今天主要来说一下sparksql写入hive后小文件太多,影响查询性能的问题.在另外一篇博客里面也稍微提到了一下,但还是感觉要单独说一下,首先我们要知道hive里面文件的数量=executor-cores*num-executors*job数,所以如果我们batchDuration的设置的比较小的话,每天在一个分区里面就会生成很多的小文件,我们在hive里面查询的时候就会非常的影响性能,下面介绍两...
Spark和Hive的ANSI SQL支持情况
Spark 2.0.x支持的SQL: ----------------- Spark SQL2003支持情况:社区目前主要是支持缺少的大功能subquery,细节功能主要是IBM的人在系统地添加(https://issues.apache.org/jira/secure/Dashboard.jspa?selectPageId=12326761)。 具体缺少的2003细节功能可查看
Spark SQL来读取现有Hive中的数据
Spark SQL主要目的是使得用户可以在Spark上使用SQL,其数据源既可以是RDD,也可以是外部的数据源(比如Parquet、Hive、Json等)。 Spark SQL的其中一个分支就是Spark on Hive,也就是使用Hive中HQL的解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业。 本文就是来介绍如何通过Spark SQ
hive on spark 动态解决小文件太多的办法
在做项目时,有个ETL需要处理,数据都在HIVE里面,需要对数据进行统计分析转换。开始直接用的HIVE的JDBC,效率不高。后来想到用hive on spark的方式处理。底层不再使用MapReduce进行计算,避免shuffle引起的大量读写硬盘和rpc网络拷贝带来的性能底下问题,程序效率有了明显提高。但是随之而来的是用sparksql往hive表中插入数据时,会产生很多小文件。用hive时,可以
Spark SQL 整合Hive的使用
官网地址 点击进入 一、使用Spark SQL访问Hive需要将$HIVE_HOME/conf下的hive-site.xml拷贝到$SPARK_HOME/conf下,如果集群没有安装hive那么就在$SPARK_HOME/conf 下创建一个hive-site.xml,再配置一下可以访问metadata即可二、启动spark访问hive 1、HDFS必须保证启动了 2、如果报错说找不到mysq
Spark-Sql整合hive,在spark-sql命令和spark-shell命令下执行sql命令和整合调用hive
1.安装hive 如果想创建一个数据库用户,并且为数据库赋值权限,可以参考:http://blog.csdn.net/tototuzuoquan/article/details/527855042.将配置好的hive-site.xml、core-site.xml、hdfs-site.xml放入$SPARK_HOME/conf目录下[root@hadoop1 conf]# cd /home/tuzq
Spark SQL Hive数据源复杂综合案例实战
Spark SQL Hive数据源复杂综合案例实战(读写各种分区表)Hive数据源来源 Spark SQL除了支持SQLContext之外,还支持HIVESQL语法,利用HIVEContext来创建,HiveContext继承自SQLContext,但是增加了在Hive表中数据库中查找,同时也支持hql(方法)。Hiveql的功能要比sql的功能要强大很多。 使用HiveContext,可以执行Hi
第5章 从Hive平滑过渡到Spark SQL
5-1 -课程目录 5-2 -A SQLContext的使用 The entry point into all functionality in Spark SQL is the SQLContext class, or one of its descendants. To create a basic SQLContext, all you need is a SparkContex...
在java应用中使用JDBC连接Spark SQL(HiveServer2)
根据Spark官网所述,Spark SQL实现了Thrift JDBC/ODBC server: The Thrift JDBC/ODBC server implemented here corresponds to the HiveServer2 in Hive 1.2.1 You can test the JDBC server with the beeline script that co
spark sql hive自定义函数(永久函数)
Spark(Hive) SQL中UDF的使用 相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内置的各类UDF也为我们的数据处理提供了不少便利的工具,当这些内置的UDF不能满足于我们的需要时,Hive SQL或Spark SQL还为我们提供了自定义
Spark1.6.0——HiveThriftServer2的生命周期管理
前言 几年前,我在刚刚进入大数据领域的时候,很快就了解到Hive所提供的一种另类的SQL。最初使用Hive的命令行提交任务,后来便用上了HiveServer和HiveServer2。半年前第一次注意到Spark的Thrift服务,当时心中就笃定它肯定与HiveServer2有着某种联系,直到在工作中真正使用它。 在使用HiveThriftServer2的过程中,通过故障排查、源码分析和功能优化...
hive 和spark sql 中日期相关使用技巧(一)
hive 和spark sql 中日期相关使用技巧 常用日期/时间相关字段、类型、及示例: 类型包括:BIGINT,TIMESTAMP和STRING 下面是这几种类型之间相互转换的方法: BIGINT转TIMESTAMP:from_unixtime(time/1000) TIMESTAMP转BIGINT:unix_timestamp(time)*1000 BIGINT转STRING(y...
Spark-Hadoop、Hive、Spark 之间是什么关系?
http://mp.weixin.qq.com/s?__biz=MzAwNzIzMDY5OA==&mid=2651424131&idx=1&sn=ae80ad83c3c2f16d406a03e9b47f44ca&scene=5&srcid=07309uszQbKFaBJxnKSwVRul#rd 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的
文章热词 Spark Spark培训 Spark课程 Spark视频教程 Spark学习
相关热词 c++ mlib spark 调用 java 接口跟c++的模板有啥区别 c++异常处理有啥用 spark教程+python spark教程python