Hive(一)

来源:互联网 发布:mysql可视化 编辑:程序博客网 时间:2024/06/06 17:13

需求
假设一批文件,内容格式
001,192.168.1.101
002,198.135.1.236
002,156.124.138.9
…….
其中第一列代表用户uid,第二列代表用户登陆ip。要对这些文件进行分析,计算共有多少人登陆,在一个ip下共有几人登陆,等等
hive解决
如果你不建立数据库,那么你的表放在默认数据库default中,你加载的数据在hdfs中位置为 user/hadoop(这里是你的用户名)/warehouse/login/目录下

1,建立表
create table login(uid string,ip string) partitioned by (dt string) row format delimited fields terminated by ‘,’ stored as textfile;

2 ,加载数据

load data local inputh ‘/home/hadoop/logs/*’ overwrite into table login partition (dt=’20141219’);

3.查询数据

select count(distinct uid) form login where dt=‘20141219’; (mapreduce 作用开始运行)

hive基本操作
1 静音模式,可以不进入交互模式直接操作,也没有日志输出到控制台
hive -S -e ‘select uid from login’ > /home/hadoop/result.csv;
2,不进入交互模式执行 hive script
hive -f /home/hadoop/hive-script.sql
3 hive 中执行dfs操作
hive> dfs -ls /
4 创建一般表
create talbe page_view(viewTime int,params map

原创粉丝点击