Python+大数据-数仓实战之滴滴出行(二)

该博客介绍了如何利用Sqoop将大数据从Hive仓库导出到MySQL数据库,并创建不同的统计表,包括订单总笔数、预约和非预约订单、不同时段订单以及不同地域订单的统计。涉及到了数据迁移、数据库建表和数据导出的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python+大数据-数仓实战之滴滴出行(二)

1. 数据转移

image-20220817105330631

#验证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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值