前言
主要用于学习SQL
本篇主要为下面的文章创建所需要的各种表资源,还有所配置环境的介绍.
(数据来源尚硅谷)
一、所使用的环境和软件
这里使用三个节点hadoop环境,可以使用MR或者spark计算引擎处理数据.
hive to Spark/MR 并使用DataGrip连接.
二、创建数据库和表
1.数据库创建
代码如下(示例):
create database if not exists hql_shopping location '/user/hive/warehouse/hql_shopping.db';
->引号里面的是hdfs上文件存储的位置.
2.创建表(共有10张表)
代码如下(示例):
DROP TABLE IF EXISTS user_info;
create table user_info(
`user_id` string COMMENT '用户id',
`gender` string COMMENT '性别',
`birthday` string COMMENT '生日'
) COMMENT '用户信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS sku_info;
CREATE TABLE sku_info(
`sku_id` string COMMENT '商品id',
`name` string COMMENT '商品名称',
`category_id` string COMMENT '所属分类id',
`from_date` string COMMENT '上架日期',
`price` double COMMENT '商品单价'
) COMMENT '商品信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS category_info;
create table category_info(
`category_id` string,
`category_name` string
) COMMENT '商品分类信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS order_info;
create table order_info(
`order_id` string COMMENT '订单id',
`user_id` string COMMENT '用户id',
`create_date` string COMMENT '下单日期',
`total_amount` decimal(16, 2) COMMENT '订单总金额'
) COMMENT '订单信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS order_detail;
CREATE TABLE order_detail
(
`order_detail_id` string COMMENT '订单明细id',
`order_id` string COMMENT '订单id',
`sku_id` string COMMENT '商品id',
`create_date` string COMMENT '下单日期',
`price` decimal(16, 2) COMMENT '下单时的商品单价',
`sku_num` int COMMENT '下单商品件数'
) COMMENT '订单明细表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS user_login_detail;
CREATE TABLE user_login_detail
(
`user_id` string comment '用户id',
`ip_address` string comment 'ip地址',
`login_ts` string comment '登录时间',
`logout_ts` string comment '登出时间'
) COMMENT '登录明细表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS sku_price_modify_detail;
CREATE TABLE sku_price_modify_detail
(
`sku_id` string comment '商品id',
`new_price` decimal(16, 2) comment '更改后的价格',
`change_date` string comment '变动日期'
) COMMENT '商品价格变更明细表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS delivery_info;
CREATE TABLE delivery_info
(
`delivery_id` string comment '配送单id',
`order_id` string comment '订单id',
`user_id` string comment '用户id',
`order_date` string comment '下单日期',
`custom_date` string comment '期望配送日期'
) COMMENT '配送信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS friendship_info;
CREATE TABLE friendship_info(
`user1_id` string comment '用户1id',
`user2_id` string comment '用户2id'
) COMMENT '好友关系表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
DROP TABLE IF EXISTS favor_info;
CREATE TABLE favor_info
(
`user_id` string comment '用户id',
`sku_id` string comment '商品id',
`create_date` string comment '收藏日期'
) COMMENT '收藏信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
3.插入数据
由于插入的数据过多,这里不在展示,可以在上面下载所需sql.
三、总结
这里主要就是创建下面HQL练习所需要的数据还有环境.