hbase导入数据同时与phoenix实现映射同步

Posted yfb918

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hbase导入数据同时与phoenix实现映射同步相关的知识,希望对你有一定的参考价值。

一、说明

先创建一个hbase表格,能够导入本地数据到hbase中,最后能够通过phoneix进行访问。

1、数据准备(10W条,样例如下),文件test.txt

0,20190520164020,171.15.136.201,ie
1,20190520164020,139.203.75.112,chorm
2,20190520164020,121.77.62.91,chorm
3,20190520164020,139.213.175.14,ie
4,20190520164020,210.45.253.237,chorm
5,20190520164020,171.12.45.87,chrome
6,20190520164020,139.200.93.224,firefox
7,20190520164020,222.61.160.72,chorm

2、上传到hdfs /tmp/下

hadoop fs -put test.txt /tmp/test.txt

1、在hbase中创建好表

create TEST,INFO

2、在phoenix中建立相同的表名以实现与hbase表的映射

create table if not exists TEST(ID varchar primary key, INFO.DATA varchar, INFO.IP varchar, INFO.BROWER varchar );

注意:

  a、phoneix中创建的表与hbase中映射的表名要相同

  b、phoneix的主键名称不需要和hbase中相同,两边通过表格内置结构可以自动关联起来,因为表格自动识别到主键

  c、phoneix中的column必须以hbase的columnFamily开头

3、hdfs数据导入到hbase中,执行下面两条命令

a、通过importtsv.separator指定分隔符,否则默认的分隔符是tab键。

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,INFO:DATA,INFO:IP,INFO:BROWER -Dimporttsv.separator=, -Dimporttsv.bulk.output=/tmp/who_goods_label_output TEST /tmp/test.txt

技术图片

技术图片

 技术图片

b、将生成的hfile文件导入到hbase

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/who_goods_label_output TEST

技术图片

技术图片

4、查看结果

a、hbase

 技术图片

技术图片

以上是关于hbase导入数据同时与phoenix实现映射同步的主要内容,如果未能解决你的问题,请参考以下文章

Hbase表映射到phoenix

HBase 2.0 协处理器实现 ES 数据同步

HBase存储剖析与数据迁移

HBase存储剖析与数据迁移

Phoenix 实践——Phoenix 表的视图构建(表映射)总结小记

利用HaoheDI从数据库抽取数据导入到hbase中