首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop基础教程-第12章 Hive:进阶(12.5 Hive外表)(草稿)

Hadoop基础教程-第12章 Hive:进阶(12.5 Hive外表)(草稿)

作者头像
程裕强
发布于 2018-01-02 08:38:49
发布于 2018-01-02 08:38:49
72200
代码可运行
举报
运行总次数:0
代码可运行

第12章 Hive:进阶

12.5 Hive外表

12.5.1 准备数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@nb0 data]# vi gen.sh
[root@nb0 data]# cat gen.sh
#!/bin/sh

for i in {1..100000};do
        echo -e $i'\t'$RANDOM'\t'$RANDOM'\t'$RANDOM
done;
[root@nb0 data]# sh gen.sh > mydata.txt
You have mail in /var/spool/mail/root
[root@nb0 data]# vi mydata.txt 
[root@nb0 data]# hdfs dfs -put mydata.txt input
17/07/19 20:38:55 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@nb0 data]# hdfs dfs -ls input
17/07/19 20:39:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
-rw-r--r--   3 root hbase    1698432 2017-07-19 20:38 input/mydata.txt
You have mail in /var/spool/mail/root
[root@nb0 data]#

12.5.2 创建HBase表

创建hbase数据表abc

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hbase(main):007:0> create 'abc','info'

12.5.3 创建Hive外表

创建Hive外表

创建一个指向已经存在的HBase表的Hive表

由于HBase中没有数据类型信息,所以在存储数据的时候都转化为String类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> create external table hbase_t1(rowkey string,data1 string,data2 string,data3 string)
    > stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    > with serdeproperties ("hbase.columns.mapping" = ":key,info:data1,info:data2,info:data3")
    > tblproperties ("hbase.table.name"="abc","hbase.mapred.out.puttable"="abc");
OK
Time taken: 0.213 seconds
hive>

12.5.4 创建Hive数据表

创建一个Hive数据表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> create external table hive_t1(rowkey string,data1 string,data2 string,data3 string)
    > row format delimited
    > fields terminated by '\t'
    > stored as textfile;
OK
Time taken: 0.105 seconds
hive>

导入数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> load data inpath 'input/mydata.txt' into table hive_t1;
Loading data to table default.hive_t1
Table default.hive_t1 stats: [numFiles=1, totalSize=2287063]
OK
Time taken: 0.795 seconds
hive>

12.5.5 使用HQL向HBase表中插入数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> insert overwrite table hbase_t1 
    > select rowkey,data1,data2,data3 from hive_t1;
Query ID = root_20170720022542_8b5292a8-7903-4e22-8258-223555fab220
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1500448404940_0002, Tracking URL = http://nb0:8088/proxy/application_1500448404940_0002/
Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill job_1500448404940_0002
Hadoop job information for Stage-0: number of mappers: 2; number of reducers: 0
2017-07-20 02:25:52,647 Stage-0 map = 0%,  reduce = 0%
2017-07-20 02:26:03,331 Stage-0 map = 100%,  reduce = 0%, Cumulative CPU 19.73 sec
MapReduce Total cumulative CPU time: 19 seconds 730 msec
Ended Job = job_1500448404940_0002
MapReduce Jobs Launched: 
Stage-Stage-0: Map: 2   Cumulative CPU: 19.73 sec   HDFS Read: 2345042 HDFS Write: 0 SUCCESS
Total MapReduce CPU Time Spent: 19 seconds 730 msec
OK
Time taken: 22.873 seconds
hive>

12.5.6 查看结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> select count(*) from hbase_t1;
Query ID = root_20170720022640_c705b5a2-7db5-4bfa-8b43-f218ad588226
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1500448404940_0003, Tracking URL = http://nb0:8088/proxy/application_1500448404940_0003/
Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill job_1500448404940_0003
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2017-07-20 02:26:51,257 Stage-1 map = 0%,  reduce = 0%
2017-07-20 02:27:01,201 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 6.91 sec
2017-07-20 02:27:07,482 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 9.56 sec
MapReduce Total cumulative CPU time: 9 seconds 560 msec
Ended Job = job_1500448404940_0003
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 9.56 sec   HDFS Read: 14530 HDFS Write: 7 SUCCESS
Total MapReduce CPU Time Spent: 9 seconds 560 msec
OK
100000
Time taken: 29.51 seconds, Fetched: 1 row(s)
hive> 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hive> select * from hbase_t1 limit 10;
OK
1   199 4567    25943
10  10448   19496   31645
100 26984   29011   13177
1000    4008    1275    8236
10000   10121   14333   24945
100000  14619   17100   556
10001   28304   22506   5836
10002   29960   4367    19187
10003   25065   21803   21932
10004   19965   31442   18762
Time taken: 0.188 seconds, Fetched: 10 row(s)
hive> 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hbase(main):007:0> count 'abc'
Current count: 1000, row: 10897                                                                                                                                             
Current count: 2000, row: 11797                                                                                                                                             
Current count: 3000, row: 12697                                                                                                                                             
Current count: 4000, row: 13597                                                                                                                                             
Current count: 5000, row: 14497                                                                                                                                             
Current count: 6000, row: 15397                                                                                                                                             
Current count: 7000, row: 16297                                                                                                                                             
Current count: 8000, row: 17197                                                                                                                                             
Current count: 9000, row: 18097                                                                                                                                             
Current count: 10000, row: 18998                                                                                                                                            
Current count: 11000, row: 19898                                                                                                                                            
Current count: 12000, row: 20797                                                                                                                                            
Current count: 13000, row: 21697                                                                                                                                            
Current count: 14000, row: 22597                                                                                                                                            
Current count: 15000, row: 23497                                                                                                                                            
Current count: 16000, row: 24397                                                                                                                                            
Current count: 17000, row: 25297                                                                                                                                            
Current count: 18000, row: 26197                                                                                                                                            
Current count: 19000, row: 27097                                                                                                                                            
Current count: 20000, row: 27998                                                                                                                                            
Current count: 21000, row: 28898                                                                                                                                            
Current count: 22000, row: 29798                                                                                                                                            
Current count: 23000, row: 30697                                                                                                                                            
Current count: 24000, row: 31597                                                                                                                                            
Current count: 25000, row: 32497                                                                                                                                            
Current count: 26000, row: 33397                                                                                                                                            
Current count: 27000, row: 34297                                                                                                                                            
Current count: 28000, row: 35197                                                                                                                                            
Current count: 29000, row: 36097                                                                                                                                            
Current count: 30000, row: 36998                                                                                                                                            
Current count: 31000, row: 37898                                                                                                                                            
Current count: 32000, row: 38798                                                                                                                                            
Current count: 33000, row: 39698                                                                                                                                            
Current count: 34000, row: 40597                                                                                                                                            
Current count: 35000, row: 41497                                                                                                                                            
Current count: 36000, row: 42397                                                                                                                                            
Current count: 37000, row: 43297                                                                                                                                            
Current count: 38000, row: 44197                                                                                                                                            
Current count: 39000, row: 45097                                                                                                                                            
Current count: 40000, row: 45998                                                                                                                                            
Current count: 41000, row: 46898                                                                                                                                            
Current count: 42000, row: 47798                                                                                                                                            
Current count: 43000, row: 48698                                                                                                                                            
Current count: 44000, row: 49598                                                                                                                                            
Current count: 45000, row: 50497                                                                                                                                            
Current count: 46000, row: 51397                                                                                                                                            
Current count: 47000, row: 52297                                                                                                                                            
Current count: 48000, row: 53197                                                                                                                                            
Current count: 49000, row: 54097                                                                                                                                            
Current count: 50000, row: 54998                                                                                                                                            
Current count: 51000, row: 55898                                                                                                                                            
Current count: 52000, row: 56798                                                                                                                                            
Current count: 53000, row: 57698                                                                                                                                            
Current count: 54000, row: 58598                                                                                                                                            
Current count: 55000, row: 59498                                                                                                                                            
Current count: 56000, row: 60397                                                                                                                                            
Current count: 57000, row: 61297                                                                                                                                            
Current count: 58000, row: 62197                                                                                                                                            
Current count: 59000, row: 63097                                                                                                                                            
Current count: 60000, row: 63998                                                                                                                                            
Current count: 61000, row: 64898                                                                                                                                            
Current count: 62000, row: 65798                                                                                                                                            
Current count: 63000, row: 66698                                                                                                                                            
Current count: 64000, row: 67598                                                                                                                                            
Current count: 65000, row: 68498                                                                                                                                            
Current count: 66000, row: 69398                                                                                                                                            
Current count: 67000, row: 70297                                                                                                                                            
Current count: 68000, row: 71197                                                                                                                                            
Current count: 69000, row: 72097                                                                                                                                            
Current count: 70000, row: 72998                                                                                                                                            
Current count: 71000, row: 73898                                                                                                                                            
Current count: 72000, row: 74798                                                                                                                                            
Current count: 73000, row: 75698                                                                                                                                            
Current count: 74000, row: 76598                                                                                                                                            
Current count: 75000, row: 77498                                                                                                                                            
Current count: 76000, row: 78398                                                                                                                                            
Current count: 77000, row: 79298                                                                                                                                            
Current count: 78000, row: 80197                                                                                                                                            
Current count: 79000, row: 81097                                                                                                                                            
Current count: 80000, row: 81998                                                                                                                                            
Current count: 81000, row: 82898                                                                                                                                            
Current count: 82000, row: 83798                                                                                                                                            
Current count: 83000, row: 84698                                                                                                                                            
Current count: 84000, row: 85598                                                                                                                                            
Current count: 85000, row: 86498                                                                                                                                            
Current count: 86000, row: 87398                                                                                                                                            
Current count: 87000, row: 88298                                                                                                                                            
Current count: 88000, row: 89198                                                                                                                                            
Current count: 89000, row: 90097                                                                                                                                            
Current count: 90000, row: 90998                                                                                                                                            
Current count: 91000, row: 91898                                                                                                                                            
Current count: 92000, row: 92798                                                                                                                                            
Current count: 93000, row: 93698                                                                                                                                            
Current count: 94000, row: 94598                                                                                                                                            
Current count: 95000, row: 95498                                                                                                                                            
Current count: 96000, row: 96398                                                                                                                                            
Current count: 97000, row: 97298                                                                                                                                            
Current count: 98000, row: 98198                                                                                                                                            
Current count: 99000, row: 99098                                                                                                                                            
Current count: 100000, row: 99999                                                                                                                                           
100000 row(s) in 9.7420 seconds

=> 100000
hbase(main):008:0>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hbase(main):013:0> get 'abc','100000'
COLUMN                                       CELL                                                                                                                           
 info:data1                                  timestamp=1500531979008, value=14619                                                                                           
 info:data2                                  timestamp=1500531979008, value=17100                                                                                           
 info:data3                                  timestamp=1500531979008, value=556                                                                                             
3 row(s) in 0.0150 seconds

hbase(main):014:0>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hadoop基础教程-第12章 Hive:进阶(12.1 内置函数)(草稿)
该文是关于Hive表类型和存储格式的介绍。主要说明了Hive表类型包括内表、外表、分区表、索引表、Text表、SequenceFile表、ORC表、Parquet表等,以及不同表类型之间的区别。同时,还介绍了Hive的存储格式,包括Text格式、SequenceFile格式、ORC格式、Avro格式、JSON格式、MessagePack格式、Thrift格式和ProtoBuf格式等。此外,还提供了相关命令和示例,以帮助用户更好地理解和掌握Hive表类型和存储格式。
程裕强
2018/01/02
9740
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.7 HBase 批量导入)
第10章 HBase:Hadoop数据库 10.7 HBase 批量导入 10.7.1 批量导入数据的方法 向HBase表中导入一条数据可以使用HBase Shell的put命令或HBase API的
程裕强
2018/01/02
2.5K0
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.6 HQL:DML数据操纵)(草稿)
该文介绍了如何利用Hadoop和Hive进行大数据分析。首先介绍了Hadoop和Hive的基本概念,然后详细讲解了如何使用Hadoop和Hive进行数据清洗、数据转换、数据加载和查询。最后,通过一个具体的实例演示了如何使用Hadoop和Hive进行数据分析。
程裕强
2018/01/02
5770
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.3 Hive 快速入门)
该文介绍了如何利用Rust开发WebAssembly项目,并介绍了WebAssembly的基本概念、基于Rust的WebAssembly项目如何构建以及如何使用Rust编写WebAssembly代码。此外,文章还介绍了如何使用WebAssembly构建Web应用程序,并提供了示例代码。
程裕强
2018/01/02
9600
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.8 HQL:排序)(草稿)
该文介绍了如何使用Hive进行数据倾斜处理。首先介绍了Hive数据倾斜产生的原因,然后给出了数据倾斜处理的方法,包括使用MapReduce、Spark、DistCp等。同时,还介绍了Hive数据倾斜处理的注意事项,如合理设置并行度、小文件处理等。通过这些方法,可以有效地解决Hive中的数据倾斜问题,提高数据处理的效率。
程裕强
2018/01/02
9650
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.7 HQL:数据查询)(草稿)
该文介绍了如何使用Hive进行左连接和内连接,包括创建表、插入数据、建立连接、执行查询和分析结果。
程裕强
2018/01/02
1K0
hadoop2-hive的安装和测试
========================================================
Hongten
2018/12/05
4580
hadoop2-hive的安装和测试
Hive-1.2.1_02_简单操作与访问方式
1、Hive创建表格报【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.
踏歌行
2020/10/15
5210
Hive-1.2.1_02_简单操作与访问方式
hadoop生态之hive
大数据的生态包含各种各样的组件,hive是其中之一,hive主要是作为数据仓库的工具,简化相关人员的代码工作,只要编写简单的SQL就可以实现mapreduce效果。
SRE运维实践
2021/03/04
6580
hadoop生态之hive
Sqoop导入Oracle数据表到Hive
因为指定了-m 4,也就是4个map处理,-m > 1 必须有主键。因为这个表没有主键,所以需要需要设置-m 1
程裕强
2022/05/06
2.9K0
第十二章 结合flume+mapreduce+hive+sqoop+mysql的综合实战练习
项目大致过程是:flume监控日志文件,定时把文件清洗后上传到hdfs上,上传清晰后的数据是格式化的,可被hive识别,然后hive创建表,写脚本,执行hql语句,把执行结果写到hdfs上,最后为了方便查看,把放在hdfs上的结果通过sqoop放在mysql中。
全栈程序员站长
2022/08/09
8000
第十二章 结合flume+mapreduce+hive+sqoop+mysql的综合实战练习
Hive 本地执行模式
假设你正在运行一些复杂的 Hive 查询,我们都知道这会在后台触发 MapReduce 作业并为你提供输出。如果 Hive 中的数据比较大,这种方法比较有效,但如果 Hive 表中的数据比较少,这样会有一些问题。出现此问题的主要原因是 MapReduce 作业被触发,它是在服务器/集群上触发,因此每次运行查询时,它都会上传到服务器并在那里启动 MapReduce,然后输出。因此,为查询触发执行任务的时间消耗可能会比实际作业的执行时间要多的多。
smartsi
2019/08/07
3.1K0
第五章 更换cdh版本,hive的安装使用,原理讲解
这里由于小编的这里在安装hive时,由于出现了启动hive时出现了和hadoop的版本不一致的原因,并且始终没有解决,所以就改变策略使用cdh版本的hadoop和hive.因为cdh版本的比较系统,兼容性好。因此要重新安装了。
全栈程序员站长
2022/08/05
1.5K0
第五章 更换cdh版本,hive的安装使用,原理讲解
通过多种方式将数据导入hive表
hive官方手册 http://slaytanic.blog.51cto.com/2057708/939950 通过多种方式将数据导入hive表 1.通过外部表导入 用户在hive上建external表,建表的同时指定hdfs路径,在数据拷贝到指定hdfs路径的同时,也同时完成数据插入external表。 例如: 编辑文件test.txt $ cat test.txt  1       hello 2       world 3       test 4       case 字段之间以'\t'分割
闵开慧
2018/04/02
1.1K0
Hive - Hadoop与SQL
Hive是什么 简单来说,通过 Hive 可以使用 SQL 来查询分析 Hadoop 中的大规模数据 Hive 的思路就是将结构化的数据文件映射为数据库表,然后把SQL语句转换为MapReduce任务来执行 下面看一个简单的示例,了解下 Hive 是怎么用的 hive> select count(*) from invites; 结果信息 ...... Total jobs = 1 Launching Job 1 out of 1 ...... Hadoop job information for Stag
dys
2018/04/04
1.1K0
关于Hive命令的7个小技巧,你都清楚吗?
最近在看冰河大佬写的《海量数据处理与大数据技术实战》,该书涵盖以Hadoop为主的多款大数据技术框架实战的内容,兼顾理论与实操,是市面上难得的技术好书。本篇文章,我就分享一下从中学习到的关于Hive命令的7个小技巧,受益的朋友记得来发三连⭐支持一下哟~
大数据梦想家
2021/01/27
1.6K0
关于Hive命令的7个小技巧,你都清楚吗?
Hive 用户自定义函数 UDF,UDAF
Hive有UDF:(普通)UDF,用户自定义聚合函数(UDAF)以及用户自定义生表函数(UDTF)。它们所接受的输入和生产的输出的数据行的数量的不同的。 UDF UDF操作作用于单个数据行,且产生一个数据行作为输出。 例:strip 我们这里创造一个strip UDF package Hive_UDF; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.hive.ql.exec.UDF; import o
小爷毛毛_卓寿杰
2019/02/13
1.3K0
Hive 用户自定义函数 UDF,UDAF
一脸懵逼学习Hive的使用以及常用语法(Hive语法即Hql语法)
该文介绍了关于数据库连接池的知识点,包括概念、特点、配置方式、调优参数和常见问题。同时,文章还提供了如何正确配置和优化数据库连接池的相关建议,以帮助开发人员更好地掌握和应用该技术。
别先生
2018/01/02
3.7K0
一脸懵逼学习Hive的使用以及常用语法(Hive语法即Hql语法)
HIVE表中分区的删除
不过HIVE本身还提供一种机制,可以删除其中的分区。只要某一条记录在某个分区中,就可以实现用个“转弯”的方式来实现,即先删除分区,再手动去掉这条记录,再导入到分区中。
sparkexpert
2022/05/07
3.6K0
hive sql(十)—— 编写sql语句实现每班前三名,分数一样并列, 同时求出前三名按名次排序的分差
需求 编写sql语句实现每班前三名,分数一样并列, 同时求出前三名按名次排序的分差 建表语句 create table student( sid string,--学号 cid string,--班级号 score string -- 分数 ) row format delimited fields terminated by '\t' ; 数据 #说明: 数据1具有偶然性,适合不重复的情况,实现可以用扩展部分写法1实现 数据2具有通用性,适合重复数据的情况 #数据1 inser
大数据最后一公里
2021/08/05
8570
推荐阅读
相关推荐
Hadoop基础教程-第12章 Hive:进阶(12.1 内置函数)(草稿)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档