1 Hive的执行引擎
Hive:专业的数仓软件,可以高效的读写和管理数据集。
Hive的运行原理:
① hive主要是写HQL的 (类SQL,相似度90%,剩下的10%就是HQL里面一些独有的语法)
② 写的HQL会根据不同的计算引擎翻译成不同的代码
2 数仓搭建技术选型
Spark On Hive:基于Hive的Spark (spark里面内置hive)【效率高一点点 1.5倍】
Hive On Spark:基于Spark的Hive (用的软件是Hive,相当于Spark是Hive运行的必要条件) 【主流】
两者的执行效率还是有区别的
3 Hive On Spark原理
Hive安装到哪?
Hive是客户端
只要机器上有Hadoop的客户端,就可以在上面装Hive
因为它要用到Hadoop的一些命令
Spark也是客户端
Spark需要追随Hive,所以它们两要安装在同一台机器上
Hive通过spark的环境变量SPARK_HOME去找到SparkJarS配置文件
SPARK_HOME需要只想spark当前所安装的目录
如果提交程序到yarn,但是yarn是分布式运算,executor可能分配到yarn上任意一台机器
如果分配到102上,但是我们spark安装在103上,这时候102是没有jar包的
所以就需要配置变量 spark.yarn.jars,这个变量需要指向HDFS的目录
这个目录里面需要放spark里面的所有jar包(放入到HDFS上)
这是yarn上的app会自动读取这个变量,找到HDFS,将jar包下载下来
标签:jar,hive,yarn,Hive,spark,Spark From: https://www.cnblogs.com/apple677/p/16373352.html