您的位置:首页 > 大数据

大数据时代--Hive之开始动手(导入数据、查询、删除)

2016-08-24 21:04 309 查看
     转载请注明出处:大数据时代--Hive之开始动手(导入数据、查询、删除)

    最近在忙于大数据的相关知识的学习,SpringMVC的源码也有在读,希望关注的朋友不要着急,后面我会尽快的推出,因为源码这东东着实比较高深,得反复的去琢磨才好,我如果直接读一点写一点感觉写出来的博文没有什么自己的见解,而且往往是云山雾绕的感觉,所以,我会在反复的琢磨之后,再进行更新。本文章也是之前从Hive基本原理中承诺的那样,原理讲完了得动动手实实在在的把他落实在脑子里。刚刚开始用可能不是很习惯,虽然和Mysql的语句比较相似但是真正用起来有些时候就是这些不像的地方反而成为我们棘手的问题,所以,并不能因为都说他是SQL语句相似我们就轻易的以为Hive不需要学。学习中要保持一颗积极进取,踏实不燥的心才能有所长进,千万不要觉得好简单,就不去管了,这种事经常在我们身边发生,当然有时候也包括我自己,总觉得有些东西好简单的看看就好了没必要去自己敲敲代码写写,但是当你真正需要的时候你就会发现,远远没你想的那么简单,这种心理我觉得属于浮躁的心理,学习要踏实才能真正掌握知识。本文属于刚刚开始的Hive实践类博文系列,这里先只讲一些简单的导入数据和创建表以及查询、删除的基本操作。

创建表

    创建表的方式比较多,结合我们的案例,从本地的文件中导入数据这个情景,我们来实际的操作一遍。

先看下文件的结构:






左边是数字(id),右边是name,我们此时需要创建一个合适的表来存储这个文件中的数据。

那么接下来HQL语句如下:

create table wt(id int, name string) row format delimited fields terminated by '\t';
这里需要确定表的数据在插入的过程中的分隔符,分开显示是这样的。
row format delimited
fields terminated by '\t'


加载文件数据到数据库

这里需要注意的是local inpath,另外后面的文件的路径是放在单引号内部的。

load data local inpath '/usr/local/dataFileTemp/data.txt' into wt;


执行的结果如下:

Copying data from file:/usr/local/dataFileTemp/data.txt
Copying file: file:/usr/local/dataFileTemp/data.txt
Loading data to table default.wt
Table default.wt stats: [numFiles=1, numRows=0, totalSize=16, rawDataSize=0]
OK


查询数据

select * from wt;
OK
1       wy
2       wyy
3       xx
Time taken: 0.064 seconds, Fetched: 3 row(s)


这里再查询下name='wy'的人的信息。

这次不一样了,启动MapReduce进行处理了。Select * 的时候是不需要的,只用把所有的列出来就可以了。

select * from wt where name = 'wy'
> ;
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_1472040179034_0001, Tracking URL = http://hadoopwy1:8088/proxy/application_1472040179034_0001/ Kill Command = /usr/local/hadoop2/bin/hadoop job  -kill job_1472040179034_0001
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2016-08-24 05:55:21,115 Stage-1 map = 0%,  reduce = 0%
2016-08-24 05:55:52,328 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 2.17 sec
MapReduce Total cumulative CPU time: 2 seconds 170 msec
Ended Job = job_1472040179034_0001
MapReduce Jobs Launched:
Job 0: Map: 1   Cumulative CPU: 2.17 sec   HDFS Read: 227 HDFS Write: 5 SUCCESS
Total MapReduce CPU Time Spent: 2 seconds 170 msec
OK
1       wy
Time taken: 76.296 seconds, Fetched: 1 row(s)


删除表

drop table wt;
OK
Time taken: 2.044 seconds
这里需要注意一下的是:drop后面加table然后才是表名。

[b]转载请注明出处:大数据时代--Hive之开始动手(导入数据、查询、删除)

[/b]

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐