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的安装过程,并针对自己安装过程中遇到的问题,进行了记录。

相关文章
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
522 12
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
350 4
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
351 2
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
514 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
442 0
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
463 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
1660 70
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1055 6
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
286 3
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
373 5