hive之分析(二)

一、数据准备

数据来源:数据来源
准备数据,并将数据上传到/opt/bigdatas
在这里插入图片描述

二、数据说明
aisles.csv  departments.csv  order_products__prior.csv  order_products__train.csv  orders.csv  products.csv

aisles 通道 货架的编号 (二级类别) 维度表
aisle_id,aisle

departments 部门 比如厨房类 (一级类别)维度表
department_id,department


orders  订单表 (在hive中属于行为表)
eval_set:prior历史行为,
train训练(test中user已经购买了的其中一个商品),
test(最终我们要预测的数据集,包含哪个用户他可能会购买的商品)
order_number:这个user订单的编号,体现订单的先后顺序
order_dow:(day of week),订单在星期几
order_hour_of_day:一天中的哪个小时(分成24小时)
days_since_prior_order:order_number后面一个订单与前面一个订单相隔天数(注意第一个订单没有)

order_id,user_id,eval_set,order_number,order_dow,order_hour_of_day,days_since_prior_order


order_products__prior(500M)   order_products__train
一个订单:订单记录(33120,28985)explode 
(在hive中属于行为表)
add_to_cart_order:加购物车的位置 
reordered:这个订单是否被再次购买(是否)bool
order_id,product_id,add_to_cart_order,reordered  

products 在数据库中(如果落到hive中是维度表)
product_id,product_name,aisle_id,department_id
三、将orders(orders.csv),priors(order_products__prior.csv) 建表

1、可以先在本地目录下查看数据:head orders.csv查看具体的数据的样子,还有列名
在这里插入图片描述
2、启动hadoop集群
3、上传本地数据到hadoop

hadoop fs -mkdir -p /bigdata/orders  --在hadoop里新建/bigdata/orders/目录存储orders.csv数据
hadoop fs -put /opt/bigdatas/orders.csv /bigdata/orders/
hadoop fs -ls /bigdata/orders/

在这里插入图片描述
4、创建orders外部表 external 表示创建外部表

create  external table orders
(
order_id string,
user_id string,
eval_set string,
order_number string,
order_dow string,  
order_hour_of_day string,
days_since_prior_order string
)
row format delimited 
fields terminated by ',' 
lines terminated by '\n'
location '/bigdata/orders'
tblproperties ("skip.header.line.count"="1");   -- 由于csv文件第一行为表头,这里数据过滤掉第一行数据

在这里插入图片描述
5、创建priors(order_products__prior.csv)外部表
hadoop 上传order_products__prior.csv到 hadoop的/bigdata/priors目录下

 hadoop fs -mkdir -p /bigdata/priors
 hadoop fs -put /opt/bigdatas/order_products__prior.csv /bigdata/priors

创建priors表

create  external table priors
(
order_id string,
product_id string,
add_to_cart_order string,
reordered string
)
row format delimited 
fields terminated by ',' 
lines terminated by '\n'
location '/bigdata/priors'
tblproperties ("skip.header.line.count"="1"); 

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值