06-PDI(Kettle)读取Hive写入HDFS,读取HDFS写入HBase中(下)

简介: 文章目录06-PDI(Kettle)读取Hive写入HDFS,读取HDFS写入HBase中环境准备1.安装MySQL1.1mysql安装参考:1.2安装过程

2.读取hive写入HDFS

2.1工作流设计

工作流设计:



2.2 具体转换设计

具体步骤项如下:

1)table input 步骤项设置

本步骤用于链接hive中的emp表,hive数据库链接如下:




数据库操作sql语句如下:



2)emp sorts 步骤项设置

本步骤用于对hive中的数据进行排序:


3)table input 2 步骤项设置

本步骤用于链接hive中的dept表,hive数据库链接如下:


4)dept sorts 步骤项设置

本步骤用于对hive中的dept数据进行排序:



5)Merge join操作

本步骤用于将经过排序的两张表中的数据执行join操作,join选择内链接


6)select values步骤项设置

选择字段,本步骤主要用于移除部分字段


7)text file output步骤项设置

在open file中选择hdfs文件系统,并进行相关配置。



配置完毕后,进行测试,测试结果如下:



从测试结果可以看出,zk没有开,开启了hdfs,和yarn

测试通过后,点击ok,选择hdfs上的路径。



8)运行转换,并查看结果

运行示意图:


进入到hdfs所在的机器上,查看输出结果如下:



3 读取HDFS写入HBase

需求:将hdfs中sal小于110000的数据保存在hbase中

3.1工作流设计




3.2启动HBase

#开启hbase
start-hbase.sh
#进入hbase shell
#建表
create 'emp','info'

3.3具体转换设计

1)转换设计为:


2)text file input步骤设计

这一步骤与上一案例中的基本类似


选择hdfs的.txt文件


.txt中的数据就是emp表的数据,如下



2)filter rows步骤设计

通过filter rows过滤出工作小于100000的员工



3)HBase output


创建映射:选择字符串在hbase shell端不乱码



再次配置hbase链接

如果出现:



NoSuchColumnFamilyException: Column family table does not exist in region hbase:meta,,1.1588230740 in table 'hbase:meta'


原因:是因为hbase服务端版本过低,客户端版本不能高于服务端版本

解决办法:选择hdp26

查看hbase,并解决命令行查看中文乱码问题

scan 'emp', {FORMATTER => 'toString'}
scan 'emp', {FORMATTER_CLASS => 'org.apache.hadoop.hbase.util.Bytes', FORMATTER => 'toString'}

总结

本文主要描述了基于kettle实现从hive读取数据写入到hdfs,同时实现从HDFS读取数据写入HBase中的完整流程,同时为便于读者能根据本博客实现完整的实验,还参考了部分博客,增加了mysql和hive的安装过程,并针对自己安装过程中遇到的问题,进行了记录。

相关文章
|
7月前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
275 12
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
625 7
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
235 4
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
258 2
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
185 2
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
323 0
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
309 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
SQL 存储 关系型数据库
Hive 和 HDFS、MySQL 之间的关系
Hive是Hadoop上的数据仓库工具,用HiveQL进行大数据查询;HDFS是分布式文件系统,用于存储大规模数据,常与Hive结合,提供数据存储和高可靠性。MySQL是RDBMS,适用于结构化数据管理,在大数据环境里可存储Hive的元数据,提升查询效率和元数据管理。三者协同处理数据管理和分析任务。
854 0
|
SQL 关系型数据库 MySQL
Hive【基础知识 02-1】【Hive CLI 命令行工具使用】【准备阶段-建库、建表、导入数据、编写测试SQL脚本并上传HDFS】
【4月更文挑战第7天】Hive【基础知识 02-1】【Hive CLI 命令行工具使用】【准备阶段-建库、建表、导入数据、编写测试SQL脚本并上传HDFS】
250 0
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
398 1

热门文章

最新文章