设置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,然后检查结果。