kettle 将mysql数据 导入到hive

先说说思路:一 是直接从mysql输出至hive中,另外一个是先将数据搞到hdfs中,再load一下,当然这只是textfile存储格式而言,若是ORC等其他列式存储的话建议先搞一个textfile格式的中间表,再insert into table select 插进去

下面分别介绍下两种方式

第一种:
1.连接hive对外服务的组件hiveserver2

点击测试,OK之后会显示测试成功

测试直接将mysql中的stdcode表导入一下

 

抽取数据,插入的目标库中有没有对应为表的话点击下方的SQL,会默认执行DDL语句,create一下表,接下来NEXT

 

 第二种方式:

1.创建hive 的数据库连接

就是上面的步骤

2:新建hadoop cluster连接

配置kettle hadoop cluster的配置文件
从服务器hadoop etc的配置文件中下载如下4个配置文件,覆盖kettle的plugins\pentaho-big-data-plugin\hadoop-configurations\hdp25中的4个同名文件。

### 使用Kettle实现数据导入至Hive的方法及配置教程 #### 工具简介 Kettle 是一款开源的 ETL(Extract, Transform, Load)工具,能够帮助用户完成复杂的数据抽取、转换和加载任务。它支持多种数据源之间的交互,包括关系型数据库(如 MySQL)、大数据平台(如 Hive 和 HDFS)以及其他存储介质。 --- #### 方法与步骤说明 #### 1. 安装与环境准备 为了成功使用 Kettle数据传输到 Hive 中,需先确保以下条件满足: - **安装 Kettle**:按照官方文档或参考资料[^2]中的描述,在本地机器或服务器上正确安装并启动 Kettle 的 Spoon GUI 或命令行版本。 - **配置 Hive 连接**:确认目标 Hive 数据库已正常运行,并准备好所需的 JDBC 驱动程序以及连接参数(如主机名、端口、用户名等)。如果需要访问 HDFS 文件系统,则还需验证其可用性[^4]。 #### 2. 创建一个新的转换 (Transformation) 打开 Kettle 后,点击菜单栏上的 `File -> New -> Transformation` 来创建一个新的转换项目。 #### 3. 添加输入组件 在左侧导航树中找到 “Input” 类别下的选项卡,拖拽合适的节点到工作区中央画布区域。对于来自 MySQL 的原始记录提取来说,“Table Input” 组件非常适合此场景;双击该图标进入 SQL 查询编辑界面编写相应的 SELECT 语句用于指定待迁移字段列表及其过滤条件[^1]。 ```sql SELECT id, name, age FROM users WHERE status = 'active'; ``` #### 4. 设置中间处理逻辑(可选) 根据实际需求决定是否增加其他变换环节来清洗或者重组这些即将写入的目标表结构内的列值组合形式等内容物。例如可以通过 Value Mapper 插件改变某些特定编码含义呈现方式等等。 #### 5. 输出Hive 表格 同样从左边类别列表里选取属于 Big Data 范畴下的子项——即"Hadoop File Output" ,将其放置于先前定义好的源头之后形成链条链接关系 。随后调整属性对话框里的各项设定细节部分 :选定对应集群名称作为目的地地址指向关联服务实例位置信息;另外还要注意填写好最终要存放到哪张具体命名空间下面的新建或是已有实体对象全路径表述字符串表达式。 #### 6. 执行测试运行 保存当前设计成果并通过顶部工具条按钮触发即时预览效果查看是否存在任何潜在错误提示消息反馈回来以便及时修正完善直至完全达到预期目的为止[^3]。 --- ### 注意事项 - 如果涉及分区管理的话可能还需要额外考虑时间戳或者其他维度划分依据因素影响整体架构布局安排情况。 - 对于大规模批量作业而言性能优化显得尤为重要因此建议参考专门章节指导材料进一步深入探讨学习相关技巧方法论。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值