Kettle 7.1 连接HBase数据表

栏目: 数据库 · 发布时间: 6年前

内容简介:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongxx/article/details/83001002

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongxx/article/details/83001002

设置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数据表》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective JavaScript

Effective JavaScript

David Herman / Addison-Wesley Professional / 2012-12-6 / USD 39.99

"It's uncommon to have a programming language wonk who can speak in such comfortable and friendly language as David does. His walk through the syntax and semantics of JavaScript is both charming and h......一起来看看 《Effective JavaScript》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具