kettle读取hbase
原文:https://blog.csdn.net/sujiangming/article/details/114376744?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_v2~rank_aggregation-20-114376744.pc_agg_rank_aggregation&utm_term=Kettle%E5%88%B0%E6%95%B0%E6%8D%AE%E5%88%B0Hbase&spm=1000.2123.3001.4430
说明:
环境:Centos7 + Kettle8.2 + hbase-1.3.1 + zookeeper-3.4.5
目标:通过Kettle将本地文件抽取到hbase中
一、HBase安装
安装hbase需要先安装zookeeper,故按照如下步骤进行环境搭建:
1.1 zookeeper单机安装
请参考博客中其他的博文:
https://editor.csdn.net/md/?articleId=88884983
1.2 HBase安装
需要将hadoop启动起来(如果已经启动了,就不需要执行这个命令):
start-all.sh
上传hbase-1.3.1-bin.tar.gz到/tools目录下
将hbase-1.3.1-bin.tar.gz文件解压并安装到/training目录下
tar -zvxf hbase-1.3.1-bin.tar.gz -C /training/
配置环境变量
vi ~/.bash_profile
在打开的.bash_profile文件中添加如下信息:
export HBASE_HOME=/training/hbase-1.3.1
export PATH=$HBASE_HOME/bin:$PATH
让环境变量生效
source ~/.bash_profile
验证配置hbase的环境变量是否生效,执行:
hbase
看看是否有Usage: hbase [] []信息,如果有则生效了,否则,配置有误
进入到/training/hbase-1.3.1/conf目录下
cd /training/hbase-1.3.1/conf
修改hbase-env.sh文件
vi hbase-env.sh
修改JAVA_HOME为用户安装的jdk路径
export JAVA_HOME=/training/jdk1.8.0_171
找到# export HBASE_MANAGES_ZK=true 将#号去掉即可
修改hbase-site.xml
vi hbase-site.xml
在configuration节点之间添加如下信息,注意下面的有IP的地址需要修改成你自己主机的IP地址或者主机名,具体如下
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop001:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop001</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
修改regionservers,配置从节点地址(伪分布只有一台主机,所以配置一个即可):将localhost改成IP地址或者主机名。
启动HBase:
start-hbase.sh
使用jps命令查看,是否已经启动了如下两个进程
HRegionServer
HMaster
登录Web Console进程查看: http://hadoop001:16010
1.3 创建weblogs表,列族为pageviews
在hbase shell 中创建表,执行如下命令:
create 'weblogs', 'pageviews'
二、Kettle配置
将配置好的hbase-site.xml文件下载到kettle的安装目录下,如下图所示:
重启Kettle
三、案例演示
3.1 功能描述
将本地文件抽取到HBase中
3.2 测试数据
https://download.csdn.net/download/sujiangming/15566731
3.3 组件实现
选择输入组件为文本文件输入
选择输出组件为HBase Output
配置输入组件,双击输入组件,配置如下所示:
选择测试数据所在位置,浏览->增加,
5. 配置hadoop集群,如下图,双击HBase Output组件,弹窗如下:
6. 配置输出组件HBase Output,配置如下图:
HBase中多出一张映射表
在上面的弹窗截图中切换到Configure connection 进行如下配置,配置完后一定注意保存一下:
3.4 运行验证
1、 运行
2、查看控制台:
3、查看hbase数据库中的数据
案例2:kettle连hbase
设置Hadoop环境
在Tools -> Hadoop Distribution 中选择 “HortonWorks HDP 2.5.x”。
复制 hbase-site.xml 文件
从hbase集群中复制 hbase-site.xml 文件到 kettle 安装目录下的 “plugins/pentaho-big-data-plugin/hadoop-configurations/hdp25” 目录下。
准备数据表
这里准备测试从一个hbase表导数据到另一个hbase表,其实往别存储介质也都是类似,比如文件,数据库。这里主要是为了说明怎样连hbase。
这里使用两个表,user和user2,测试从user表导数据到user2表。
# 启动shell
$ bin/hbase shell
################################################################################
# 创建 user 表
# 创建 user 表,其中包括两个列族 base 和 address。
# base列族用来保存用户基本信息,username和password
# address列族用来保存家庭和办公地址
> create 'user', 'base', 'address'
# 向 user 表写入数据
> put 'user', 'row1', 'base:username', 'user1'
> put 'user', 'row1', 'base:password', 'user1'
> put 'user', 'row1', 'address:home', 'user1 home'
> put 'user', 'row1', 'address:office', 'user1 office'
> put 'user', 'row2', 'base:username', 'user2'
> put 'user', 'row2', 'base:password', 'user2'
> put 'user', 'row2', 'address:home', 'user2 home'
> put 'user', 'row2', 'address:office', 'user2 office'
################################################################################
# 创建 user2 表
> create 'user', 'base', 'address'
测试导入
添加一个Transformations。
在 View -> Transformations -> Hadoop clusters 添加一个新的 Hadoop 集群。配置大致如下:(修改后可以测试一下)
Cluster Name: myhdfs
Storage: HDFS
HDFS: (可以参考core-site.xml文件)
Hostname: <ip>
Port: 8020
Username: <user>
Password: <password>
JobTracker:
Hostname: <ip>
Port: 8032
Zookeeper:
Hostname: <ip>
Port: 2181
在工作区,拖拽一个 “HBase Input” 和 “HBase Output”,并建立关联。
设置 “HBase Input”
首先在 “Configure query” 中设置 “Hadoop Cluster”。
在 “Create/Edit mappings” 中 “HBase table name” 选择 user。
在 “Create/Edit mappings” 中 “Mapping name” 输入 user_mapping。
在 “Create/Edit mappings” 中 表格中定义下面几项,然后 “Save mapping”
Alias Key Column family Column Type
ROW Y String
username N base username String
password N base password String
home N address home String
office N address office String
回到 “Configure query”,HBase table name” 选择 user, “Mapping name” 选择 user_mapping。
设置 “HBase Output
首先在 “Configure query” 中设置 “Hadoop Cluster”。
在 “Create/Edit mappings” 中 “HBase table name” 选择 user2。
在 “Create/Edit mappings” 中 “Mapping name” 输入 user2_mapping。
在 “Create/Edit mappings” 中 表格中定义下面几项,然后 “Save mapping”
Alias Key Column family Column Type
ROW Y String
username N base username String
password N base password String
home N address home String
office N address office String
回到 “Configure query”,HBase table name” 选择 user2, “Mapping name” 选择 user2_mapping。
运行Transformations,然后检查结果。
kettle读取hbase相关推荐
- kettle读取hbase数据
一,说明 kettle不仅可以处理传统的数据库数据或文件,也对大数据集群有很好的支持,本文提供一个kettle读取hbase列式数据库的例子,本例中,大数据集群使用的是CDH5.14,kettle使用 ...
- spark大批量读取Hbase时出现java.lang.OutOfMemoryError: unable to create new native thread
这个问题我去网上搜索了一下,发现了很多的解决方案都是增加的nproc数量,即用户最大线程数的数量,但我修改了并没有解决问题,最终是通过修改hadoop集群的最大线程数解决问题的. 并且网络上的回答多数 ...
- spark学习 Java版SparkSQL程序读取Hbase表注册成表SQL查询
参考: spark学习-SparkSQL–11-scala版写的SparkSQL程序读取Hbase表注册成表SQL查询 http://blog.csdn.net/qq_21383435/article ...
- spark学习-scala版写的SparkSQL程序读取Hbase表注册成表SQL查询
1.我写了一个程序,读取hbase中的五个表并且做连接查询,在eclise中本地可以直接测试,没有配置文件,直接把hbase和spark的jar包拷贝进去就可以了 package sparlsql.h ...
- scala学习-scala读取Hbase表中数据并且做join连接查询
1.业务需求:sparkSQL on hbase ,sparkSQL直接读取Hbase中的两个表,进行连接查询. 2.图示 绿色的线 上图中绿色的线是做过测试的,直接在hive中建表,然后load数据 ...
- mongodb数据导入hbase,spark读取hbase数据分析
为什么80%的码农都做不了架构师?>>> 使用mavn管理相关依赖包pom.xml <project xmlns="http://maven.apache.or ...
- KETTLE读取api接口(rest接口)数据
KETTLE读取api接口(rest接口)数据
- KETTLE 读取文本信息添加时间字段
转换: https://blog.csdn.net/care_about_people/article/details/44960193 KETTLE 读取文本信息添加时间字段: https://b ...
- ETL kettle读取Api接口
* kettle读取rest api接口 ,所用到的控件(api接口涉及登录后获取token,进行token认证后才访问数据rest api接口) 1.生成记录 2.REST Client 3.JSO ...
最新文章
- iOS 导航栏遮挡问题 --- iOS开发系列 ---项目中成长的知识七
- 对象名和函数名同名引起的莫名错误
- 设置oracle服务自动启动
- NodeJS:将指定文件夹内所有文件重命名为英文
- (十三)事件分发器——event()函数,事件过滤
- 2019年寒假作业1编辑总结
- Unity3d截图两种方式
- 进程间通信--IPC
- linux yum nothing,Centos6.9 yum安装htop报错解决过程
- Win11右键菜单变换Win10风格
- vs2005下,回发或回调参数无效的解决方法
- Kafka概念及组件介绍
- python实现堆排序用类的方法_三分钟玩转堆排序原理及面试题(多图解释 + Python 实现)...
- arcgis删除栅格数据波段_Web GIS课程7.2 栅格数据的概念及类型
- 【Java】:基础入门知识
- 怎么查看服务器的详细信息,服务器查看详细信息
- 计算机公司客户电话怎么打,企业微信公费电话怎么打多人通话【方法】
- R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
- 如何消除win10文件右上角的蓝色箭头
- 嵌入式uboot移植之三星官方uboot开始移植
热门文章
- R9 7845HX参数 R97845HX核显怎么样 锐龙R97845HX相当于什么水平
- android5.1修改默认锁屏方式(去除锁屏)
- VisionPro初始化 - C#
- 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
- 单片机做计算机乘法,基于单片机实现的四则运算计算器.DOC
- 想学Docker?我教你啊~
- Delphi 2005 失望的尝鲜!
- 2022G3锅炉水处理国家题库及答案
- [二分][dp凸优化] Luogu P4383 林克卡特树lct
- pe下找不到ssd硬盘_进入pe后找不到固态硬盘怎么解决