大数据时代--Hive之开始动手(导入数据、查询、删除)
2016-08-24 21:04
309 查看
转载请注明出处:大数据时代--Hive之开始动手(导入数据、查询、删除)
最近在忙于大数据的相关知识的学习,SpringMVC的源码也有在读,希望关注的朋友不要着急,后面我会尽快的推出,因为源码这东东着实比较高深,得反复的去琢磨才好,我如果直接读一点写一点感觉写出来的博文没有什么自己的见解,而且往往是云山雾绕的感觉,所以,我会在反复的琢磨之后,再进行更新。本文章也是之前从Hive基本原理中承诺的那样,原理讲完了得动动手实实在在的把他落实在脑子里。刚刚开始用可能不是很习惯,虽然和Mysql的语句比较相似但是真正用起来有些时候就是这些不像的地方反而成为我们棘手的问题,所以,并不能因为都说他是SQL语句相似我们就轻易的以为Hive不需要学。学习中要保持一颗积极进取,踏实不燥的心才能有所长进,千万不要觉得好简单,就不去管了,这种事经常在我们身边发生,当然有时候也包括我自己,总觉得有些东西好简单的看看就好了没必要去自己敲敲代码写写,但是当你真正需要的时候你就会发现,远远没你想的那么简单,这种心理我觉得属于浮躁的心理,学习要踏实才能真正掌握知识。本文属于刚刚开始的Hive实践类博文系列,这里先只讲一些简单的导入数据和创建表以及查询、删除的基本操作。
先看下文件的结构:
左边是数字(id),右边是name,我们此时需要创建一个合适的表来存储这个文件中的数据。
那么接下来HQL语句如下:
执行的结果如下:
这里再查询下name='wy'的人的信息。
这次不一样了,启动MapReduce进行处理了。Select * 的时候是不需要的,只用把所有的列出来就可以了。
[b]转载请注明出处:大数据时代--Hive之开始动手(导入数据、查询、删除)
[/b]
最近在忙于大数据的相关知识的学习,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]
相关文章推荐
- mysql创建数据库,创建数据库表导入xlsx、txt文本,查询、删除、插入数据语句的使用
- hive导入数据成功,但是查询显示NULL
- hive进阶 | 数据的导入、数据查询、Java客户端详解+代码示例
- Hive数据的导入导出和查询方式
- 手机号归属地数据导入及查询工具源代码(C++)
- sql server 2000 导入 oracle9i 后表不能用select查询数据的解决办法
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- MYSQL 不允许在子查询的同时删除原表数据的解决方法
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- 使用oracle闪回查询功能恢复之前删除的数据
- 妙用SQL子查询来从子表里删除数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- 查询和删除表中重复数据sql语句
- 你知道如何查询/删除/建立DB2数据表的主键吗?
- PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
- [导入]实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- MySQL把数据删除后id从1开始
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据