hive外部表及分析(一)

一、启动hadoop集群
cd /opt/hadoop/sbin
./start-all.sh
二、准备数据
cd /opt/bigdatas/

上传u.data数据,将linux本地u.data上传到hadoop:

hadoop fs -put /opt/bigdatas/u.data /opt/bigdata/
hadoop fs -ls /opt/bigdata/

在这里插入图片描述

三、远程连接hive

1、在hadoop01下启动hive:

cd /opt/hive/bin
./hiveserver2

2、在hadoop02远程连接:

cd /opt/hive
bin/beeline
! connect jdbc:hive2://hadoop01:10000
输入hadoop01账号密码
show databases;

在这里插入图片描述

四、创建表
create external table udata(user_id string,item_id string,rating string,timestamps string)
row format delimited
fields terminated by '\t'   --- 以\t分隔
location '/opt/bigdata';    --- 存储在hadoop上的外部数据
show tables;

在这里插入图片描述

五、查询表

1、查询前10条数据

select * from udata limit 10;

在这里插入图片描述
2、根据时间戳查询最大值和最小值
(推荐数据里面,想知道,距离现在最近的时间是什么时候
最远的时间是什么时候)

select max(timestamps) as max_tm,min(timestamps)  as min_tm from  udata;

在这里插入图片描述
3、能查看用户的行为时间点,可以用这个数据做一个数据清洗的规则
#collect_list,将数据搞成数组的形式。这种情况得出的数据用处:在同一个时间,多次评论,可能会有刷单的嫌疑。挖掘的意义。

select user_id,collect_list(cast (days as bigint)) as days_list from (select user_id,
((cast(893286638 as bigint)-cast(timestamps as bigint))/(60*60*24)) as days from udata)t group by user_id limit 10;

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值