欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中

程序员文章站 2024-02-13 23:09:10
...

导出parquet输出文件

1、在mysql创建10张表,并且导入数据
2、在hive中创建10张表(注意表是否分区)
3、使用kettle把mysql的数据导入到hive中

使用到的组件
表输入、
字段选择、
parquet output

流程图
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中
1、表输入配置
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中
表输入sql语句
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中

2、字段选择
注意:字段选择的字段顺序和字段类型要和创建的表一致
字段选择指定日期格式
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中

3、Parquet output
建表语句

create table`itcast_order_goods`(
    ogId            bigint,
    orderId         bigint,
    goodsId         bigint,
    goodsNum        bigint,
    goodsPrice      double,
    payPrice        double,
    goodsSpecId     bigint,
    goodsSpecNames  string,
    goodsName       string,
    goodsImg        string,
    extraJson       string,
    goodsType       bigint,
    commissionRate  double,
    goodsCode       string,
    promotionJson   string,
    createtime      string
)
PARTITIONED BY ( `dt` string)
STORED AS PARQUET;
注意:PARTITIONED BY ( `dt` string)是表指定字符串dt分区
这里创建的表语句是指定dt分区的
注意:1、在运行之前在hive对应的数据库下创建表,这里是hive里的test数据库创建表)
        2、如果创建的表设置了分区,浏览对应的hdfs路径要变成表名/dt=字符串/文件名
,没有设置分区也就不需要/dt=字符串(本项目设置分区)
     3、设置分区需要修复分区,没有不需要修复分区

配置文件路径,有分区:
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中

设置snappy压缩输出
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中
(如果hive表设置了分区,输出的parquet路径也要对应,同时要修复分区)

修复分区

流程图
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中
修复分区
设置hive数据库
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中

设置hive要修复的数据库下的表
2、用Kettle生成日期维度数据(二)在mysql建表通过kettle把数据导入到hive表中

相关标签: kettle知识点