美文网首页
Kettle 7.1 连接HBase数据表

Kettle 7.1 连接HBase数据表

作者: kongxx | 来源:发表于2018-10-10 17:53 被阅读73次

    设置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 7.1 连接HBase数据表

          本文链接:https://www.haomeiwen.com/subject/gnlmaftx.html