Hive实践(一)

准备工作:
1,在 hive 中创建一个数据库

create database htest; 
use htest; 

2,创建 user 表

create table if not exists `user` ( 
uid string, 
province int, 
gender string, 
verified boolean 
) 
row format delimited 
fields terminated by ',' 
stored as textfile; 

3,向表中加载数据

load data local inpath 
'/home/hadoop/testdata/userdata.csv' into table `user`; 

4,创建 weekly 表
(从https://github.com/ogrodnek/csv-serde/downloads上下载csv-serde-1.1.2.jar包
把这个jar包上传到hive下的lib目录里)
先将读取 csv 格式文件作为表数据源的 Jar 包添加到 classpath
中:
add jar /home/hadoop/testdata/csv-serde-1.1.2.jar;

create table if not exists weekly ( 
mid string, 
retweeted_status_mid string, 
uid string, 
retweeted_uid string, 
source string, 
image int, 
text string, 
geo string, 
created_at timestamp, 
deleted_last_seen timestamp, 
permission_denied string 
) 
row format SERDE 'com.bizo.hive.serde.csv.CSVSerde' 
stored as textfile;

5,向 weekly 表中加载数据

load data local inpath '/home/hadoop/testdata/week.csv' 
into table `weekly`; 

6,创建表 province(保存省份编号与名字的对照关系)

create table if not exists provinces ( 
province int, 
provincename string 
) 
row format delimited 
fields terminated by '\t' 
stored as textfile; 

7,导入数据到 provinces

load data local inpath 
'/home/hadoop/testdata/provinces.txt' into table 
provinces; 

user示例:
在这里插入图片描述

1、uid:用户ID
2、province:省级行政区编号
3、gender:性别
4、verified:VIP状态(是否为“大V”用户)

week示例:
在这里插入图片描述

1、mid:消息ID
2、retweeted_status_mid:如果消息是转发的,则该字段表示原始消息的ID;如果消息是原创的,该字段为空。
3、uid:用户ID 4、retweeted_uid:如果消息是转发的,则该字段表示原消息的用户ID;如果消息是原创的,该字段为空。
5、source:消息发送者使用的客户端 6、image:是否有图(1表示有图,0表示无图)
7、text:消息内容(注:如果消息内容中存在@XXX,则已经将其替换为相应的用户ID) 8、geo:地理信息
9、created_at:消息的发布时间
10、deleted_last_seen:如果用户删除了该消息,则该字段表示删除前最后被显示的时间;否则该字段为空
11、permission_denied:无法访问的微博(如已经被用户删除等原因)

provinces.txt:

11	北京
12	天津
13	河北
14	山西
15	内蒙古
21	辽宁
22	吉林
23	黑龙江
31	上海
32	江苏
33	浙江
34	安徽
35	福建
36	江西
37	山东
41	河南
42	湖北
43	湖南
44	广东
45	广西
46	海南
50	重庆
51	四川
52	贵州
53	云南
54	西藏
61	陕西
62	甘肃
63	青海
64	宁夏
65	新疆
71	台湾
81	香港
82	澳门
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值