Kettle 7.1 连接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,然后检查结果。
    原文作者:kongxx
    原文地址: https://www.jianshu.com/p/4d360c7f049e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞