博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
talend 将hbase中数据导入到mysql中
阅读量:6300 次
发布时间:2019-06-22

本文共 2161 字,大约阅读时间需要 7 分钟。

首先,解决talend连接hbase的问题:

公司使用的机器是HDP2.2的机器,上面配置好Hbase服务,在集群的/etc/hbase/conf/hbase-site.xml下,有如下配置:

zookeeper.znode.parent
/hbase-unsecure

这个配置是决定, Hbase master在zookeeper中,存储数据的根节点,如果不特别设置,默认位置是:/hbase (这个坑了我好久呀。。。,经过漫长的研究,终于顿悟,着实不易呀)。

在设置hbase databae时,配置如下:

测试zk的联通性:

[zookeeper@hdp1 ~]$ zookeeper-client -server 172.28.3.61:2181[zk: 172.28.3.61:2181(CONNECTED) 15] ls /[hiveserver2, controller_epoch, controller, brokers, zookeeper, hbase-unsecure, hadoop-ha, rmstore, admin, consumers, config][zk: 172.28.3.61:2181(CONNECTED) 16] ls /hbase-unsecure[replication, meta-region-server, rs, splitWAL, backup-masters, table-lock, region-in-transition, online-snapshot, master, running, recovering-regions, draining, namespace, hbaseid, table]

最后的状态是连接成功:

连接成功后,retrive schema:

在hbase中,表格信息如下:

hbase(main):047:0> scan 'zhangchao'ROW                           COLUMN+CELL example                      column=cc2:name, timestamp=1436838509057, value=justin example2                     column=cc1:age, timestamp=1436838869051, value=38 example3                     column=cc1:sex, timestamp=1436839082133, value=male example4                     column=cc1:age, timestamp=1436854903976, value=3344 row(s) in 0.0270 secondshbase(main):048:0> describe 'zhangchao'DESCRIPTION                                                               ENABLED 'zhangchao', {NAME => 'cc1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_M true EMORY => 'false', KEEP_DELETED_CELLS => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BL OCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}, {NA ME => 'cc2', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false' , KEEP_DELETED_CELLS => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => ' FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'tru e', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}1 row(s) in 0.0770 seconds

mysql中表的结构如下:

建立Talend模型,将hbase中的数据导入到mysql中:

执行后,mysql中的表中有了hbase的信息:

这样hbase到mysql的数据通道就算打通,问题的关键其实是,如何设计mysql里的行数据,让其转换为hbase中的类数据,因为hbase是列式存储,按照表->行->列簇:列->值的形式来存储。

 

 

 

 

转载地址:http://wfgta.baihongyu.com/

你可能感兴趣的文章
Java的对象和类
查看>>
格式化字符串漏洞利用 一、引言
查看>>
Oracle NetSuite推出全球首款智能云套件
查看>>
软件项目进度控制表(自制)
查看>>
企业若不改进其IT运营模式则可能错失未来市场机遇
查看>>
基于epoll封装的事件回调miniserver
查看>>
天猫高管全面解读大快消2018新零售打法
查看>>
idea springboot热部署无效问题
查看>>
第八章 进程间通信
查看>>
HttpSession接口中的方法(Jsp中的session类的用法)
查看>>
「镁客早报」AI可预测心脏病人死亡时间;机器人开始在美国送外卖
查看>>
MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
查看>>
物联网全面升级,十年内推动工业进入智能化新阶段
查看>>
spring-通过ListFactory注入List
查看>>
一种基于SDR实现的被动GSM嗅探
查看>>
阿里云ECS每天一件事D1:配置SSH
查看>>
SQL Server 性能调优(性能基线)
查看>>
uva 10801 - Lift Hopping(最短路Dijkstra)
查看>>
Unity 3D换装系统教程/Demo
查看>>
[Java Web]servlet/filter/listener/interceptor区别与联系
查看>>