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

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
38 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
43 2
|
1月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
33 2
|
1月前
|
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
84 0
|
6月前
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
258 7
|
5月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
147 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
6月前
|
SQL 存储 关系型数据库
Hive 和 HDFS、MySQL 之间的关系
Hive是Hadoop上的数据仓库工具,用HiveQL进行大数据查询;HDFS是分布式文件系统,用于存储大规模数据,常与Hive结合,提供数据存储和高可靠性。MySQL是RDBMS,适用于结构化数据管理,在大数据环境里可存储Hive的元数据,提升查询效率和元数据管理。三者协同处理数据管理和分析任务。
159 0
|
6月前
|
SQL 关系型数据库 MySQL
Hive【基础知识 02-1】【Hive CLI 命令行工具使用】【准备阶段-建库、建表、导入数据、编写测试SQL脚本并上传HDFS】
【4月更文挑战第7天】Hive【基础知识 02-1】【Hive CLI 命令行工具使用】【准备阶段-建库、建表、导入数据、编写测试SQL脚本并上传HDFS】
86 0
|
6月前
|
SQL 分布式计算 安全
HIVE启动错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeExcept
HIVE启动错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeExcept
276 0
|
6月前
|
SQL 分布式数据库 HIVE
Hbase 和Hive表关联
Hbase 和Hive表关联
72 0