[大数据]Hive:Spark,我发现你有小秘密啊~
Posted 阿布的进击
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[大数据]Hive:Spark,我发现你有小秘密啊~相关的知识,希望对你有一定的参考价值。
01
请问,你的梦想是什么?
在大数据公司中,任何一家公司都不会只使用一个框架吧?!
skr,skr~~
那我们今天就来聊一段 Hive 与 Spark的爱恨情仇
就像
在一些场景中,需要将外部的数据导入到Hive表中,然后再对这些数据进行额外的处理,提供给不同的部门使用。
当导完数据之后,需要用到Spark进行后续的处理时,发现数据多了一条
Spark:Omg,我顶你个肺~
这种情况的排查,我们需要从数据源头一步步检验,找出来这突然多出来的数据究竟是何方妖怪,想想是一件很恐怖的事情
Hive:同志,冷静
数据重复?索引重复?
俗话说不会面向度娘编程的Hive不是好Spark,在拔掉了两根头发之后发现问题:表头!
02
我不能干涉被测试框架的客观性
环境模拟
Centos 7
Spark 2.4.4
scala 2.11.8
JDK 1.8
Hive 1.2.2
hadoop 2.7.3
创建测试表:testTab
create table if not exists testTab( id string, name string )
row format delimited fields terminated by ","
tblproperties("skip.header.line.count"="1");
测试数据:testData.txt
id,name
1,xzheng
2,bbeir
3,hive
4,spark
加载数据到Hive表中:
load data local inpath "/usr/local/src/testData.txt" overwrite into table testTab;
在Hive中查询:
select * from testTab;
+----------------------+------------------------+--+
| testTab.id | testTab.name |
+----------------------+------------------------+--+
| 1 | xzheng |
| 2 | bbeir |
| 3 | hive |
| 4 | spark |
+----------------------+------------------------+--+
Spark SQL查询:
+---+------+
|id |name |
+---+------+
|id |name |
| 1 |xzheng|
|2 |bbeir |
| 3 |hive |
|4 |spark |
+---+------+
03
药不能停、药不能停
解决方法-1:
在原始表的基础上,再建立一个备份表,通过Spark Sql查询结果正确
create table if not exists testTab_2
row format delimited fields terminated by ","
as
select * from testTab;
解决方法-2:
通过spark的read函数,直接操作存在hdfs上的原始数据,然后再建表
scala> val df = spark.read.format("csv").option("path","hdfs://path_to_hdfs/testData.txt").option("header",true).option("delimiter",",").load
scala> df.show()
+---+------+
|id |name |
+---+------+
|1 |xzheng|
| 2 |bbeir |
|3 |hive |
| 4 |spark |
+---+------+
04
我的青春真实存在过
skip.heaer.line.count :跳过文件行首多少行
skip.footer.line.count :跳过文件行尾多少行
Hive中设置的忽略表头在Spark中不生效!
Hive中设置的忽略表头在Spark中不生效!
Hive中设置的忽略表头在Spark中不生效!
05
你人性深处隐藏了很多小秘密
小秘密:
https://issues.apache.org/jira/browse/HIVE-5795
https://issues.apache.org/jira/browse/SPARK-11374
有不同看法,下方留言讨论,别让你的小秘密淹没在未知里
我也该咽下这根美好的鱼骨头了
个人站点:www.TopAbu.com
那我现在跟你讲国语了:
点点“在看”,你最好看!
点点”分享“,朋友也爽!
以上是关于[大数据]Hive:Spark,我发现你有小秘密啊~的主要内容,如果未能解决你的问题,请参考以下文章
在 Hive/Spark 中高效查找大数据表的所有相关子范围
一文教你看懂大数据的技术生态圈:Hadoop,hive,spark
如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是啥关系?