Python+大数据-数仓实战之滴滴出行(二)
1. 数据转移
![image-20220817105330631](https://i-blog.csdnimg.cn/blog_migrate/4d7a3401ead542eb8c6094b3e3f573ec.png)
#验证sqoop是否工作
/export/server/sqoop-1.4.7/bin/sqoop list-databases \
--connect jdbc:mysql://192.168.88.100:3306/ \
--username root \
--password 123456
2. MySQL建表
1:mysql创建目标数据库和目标表
#创建目标数据库
create database if not exists app_didi;
#创建订单总笔数目标表
create table if not exists app_didi.t_order_total(
order_date date,
count int
);
导出订单总笔数表数据
/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/app_didi \
--username root \
--password 123456 \
--table t_order_total \
--export-dir /user/hive/warehouse/app_didi.db/t_order_total/month=2020-04
2.在mysql中创建目标表
create table if not exists app_didi.t_order_subscribe_name_count(
date_val date comment '日期',
subscribe_name varchar(20) comment '预约和非预约名字',
total_cnt int comment '订单数'
) ;
sqoop导出
/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/app_didi \
--username root \
--password 123456 \
--table t_order_subscribe_name_count \
--export-dir /user/hive/warehouse/app_didi.db/t_order_subscribe_name_count/month=2020-04
#创建不同时段订单统计目标表
--1:在mysql创建目标表
create table if not exists app_didi.t_order_timerange_total(
order_date date ,
timerange varchar(20) ,
count int
);
--2:sqoop导出
/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/app_didi \
--username root \
--password 123456 \
--table t_order_timerange_total \
--export-dir /user/hive/warehouse/app_didi.db/t_order_timerange_total/month=2020-04
#创建不同地域订单统计目标表
--1:在mysql创建目标表
create table if not exists app_didi.t_order_province_total(
order_date date ,
province varchar(20) ,
city varchar(20),
count int
);
--2:sqoop导出
/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/app_didi \
--username root \
--password 123456 \
--table t_order_province_total \
--export-dir /user/hive/warehouse/app_didi.db/t_order_province_total/month=2020-04
#创建不同年龄段,不同时段订单目标表
--1: 在mysql创建目标表
create table if not exists app_didi.t_order_age_and_time_range_total(
order_date date ,
age_range varchar(20) ,
order_time_range varchar(20) ,
count int
);
--2:sqoop导出
/export/server/sqoop-1.4.7/bin/sqoop export \
--connect jdbc:mysql://192.168.88.100:3306/app_didi \
--username root \
--password 123456 \
--table t_order_age_and_time_range_total \
--fields-terminated-by '\t' \
--export-dir /user/hive/warehouse/app_didi.db/t_order_age_and_time_range_total/month=2020-04