您现在的位置是:首页 >技术杂谈 >一百二十、Kettle——用kettle把Hive数据同步到ClickHouse网站首页技术杂谈

一百二十、Kettle——用kettle把Hive数据同步到ClickHouse

天地风雷水火山泽 2024-07-13 12:01:02
简介一百二十、Kettle——用kettle把Hive数据同步到ClickHouse

一、目标

用kettle把hive数据同步到clickhouse,简单运行、直接全量导入数据

工具版本:kettle:8.2     Hive:3.1.2     ClickHouse21.9.5.16

二、前提

(一)kettle连上hive

 

(二)kettle连上clickhouse

 

三、实施步骤

(一)打开kettle,新建转换任务。拖拽表输入、字段选择、表输出控件

1.表输入控件:在输入控件模块

2.字段选择控件:在转换控件模块

3.表输出控件:在输出控件模块

 (二)配置表输入控件,尤其注意SQL里的字段类型转换

可以修改步骤名称为hive输入,选择hive数据库连接,然后写查询SQL语句

注意:hive里的string类型字段,需要转换为类似varchar(50)的具体大小的varchar字段

经测试:

--int字段、float、timestamp字段都可以直接用
--string字段   cast(device_no as varchar(50))

 (三)配置字段选择控件

1.在选择和修改页面,点击获取选择的字段

2.在元数据模块,点击获取改变的字段。修改相应的字段,比如字段名、字段类型、字段格式等等

(四)配置表输出控件

1.在主选项页面

(1)可以修改步骤名称为clickhouse输出

(2)选择连接对应的clickhouse数据库、目标模式就是数据库名、目标表为表名

(3)勾选指定数据库字段

(4)勾选使用批量插入

 2.在数据库字段页面

点击获取字段,检查相同字段名是否映射

 (五)Ctrl+S保存,给kettle任务命名,然后点击运行。

运行成功!

(六)在clickhouse表里检查数据,验证一下 

 这样,用kettle从hive导入click house就成功了。

注意点有两个,一是kettle的版本问题,二是从hive导入click house一定要注意字段的类型转换。

乐于奉献共享,帮我你我他!!!

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。