3、千亿级数仓项目(一)在mysql建表通过kettle把数据导入到hive表中

10张表导入的ktr文件–》可以参考一下

链接:https://pan.baidu.com/s/1Ho9xrXItA5vSaMpH40NhKA 
提取码:evzq 
复制这段内容后打开百度网盘手机App,操作更方便哦

导出parquet输出文件

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

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

流程图
在这里插入图片描述
1、表输入配置
在这里插入图片描述
表输入sql语句
在这里插入图片描述
注意:${dt}是设置好的命名参数(双击空白处就能设置命名参数)
在这里插入图片描述

2、字段选择
注意:字段选择的字段顺序和字段类型要和创建的表一致
字段选择指定日期格式
在这里插入图片描述

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分区
STORED AS PARQUET;是指定导入的文件格式为PARQUET
这里创建的表语句是指定dt分区的
注意:1、在运行之前在hive对应的数据库下创建表,这里是hive里的test数据库创建表)
        2、如果创建的表设置了分区,浏览对应的hdfs路径要变成表名/dt=字符串/文件名
,没有设置分区也就不需要/dt=字符串(本项目设置分区)
     3、设置分区需要修复分区,没有不需要修复分区

配置文件路径,有分区:
在这里插入图片描述

设置snappy压缩输出
在这里插入图片描述
(如果hive表设置了分区,输出的parquet路径也要对应,同时要修复分区)

修复分区

流程图
在这里插入图片描述
修复分区
设置hive数据库
在这里插入图片描述

设置hive要修复的数据库下的表
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kettle是一种ETL工具,用于在关系型数据库和Hadoop生态系统之间进行数据导入和转换。要将Kettle导入Hive,有两种主要思路:直接配置JDBC连接HiveServer2,通过表输入和表输出组件进行转换;或者先将关系型数据库中的表导入到HDFS,再通过HDFS导入Hive表。具体的步骤如下: 第一种方式是直接连接HiveServer2: 1. 配置Hive连接,设置JDBC连接HiveServer2。 2. 将关系型数据库中的表导入Hive的default库中。 第二种方式是先通过Hadoop File Output组件将关系型数据库中的表导出至HDFS,再导入Hive表中。具体步骤如下: 1. 确认Kettle中的Hadoop集群信息。 2. 将Hadoop集群的配置文件复制到Kettle目录中的hdp26文件夹中。 3. 在Kettle目录中的plugin.properties文件中配置Hadoop使用的配置文件为hdp26。 4. 配置Hadoop File Output组件,选择导出的文件位置、分隔符和字符编码等参数。 5. 文件导出至HDFS后,使用执行SQL脚本组件执行加载命令将数据加载到Hive目标表中。 以上就是将Kettle导入Hive的两种常用方式。具体选择哪种方式取决于实际情况和需求。在使用Kettle连接Hive时,可以使用Hive的JDBC连接字符串,例如"jdbc:hive2://localhost:10000/default"。这样就可以成功将Kettle中的数据导入Hive中了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [通过kettle将关系型数据库中表导入hive中](https://blog.csdn.net/shenzhibiao/article/details/99205692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [使用kettle同步数据hive](https://blog.csdn.net/sxjxrxm/article/details/94573127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值