hdfs phoenix 导入_apach hadoop2.6 集群利用Phoenix 4.6-hbase 批量导入并自动创建索引

基础环境:

1、安装apach 版本hadoop2.6

2、部署hbase1.0.0

3、下载phoenix-4.6.0-HBase-1.0。下载地址(http://mirror.nus.edu.sg/apache/phoenix/phoenix-4.6.0-HBase-1.0/bin/phoenix-4.6.0-HBase-1.0-bin.tar.gz)

4、phoenix 集成HBase : 将hoenix-4.6.0-HBase-1.0-server.jar拷贝到每一个RegionServer下的hbase lib目录下

配置hbse-site.xml 文件

在hbase-site.xml加入如下配置

hbase.regionserver.wal.codec

org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec

hbase.regionserver.wal.codec

org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec

hbase.region.server.rpc.scheduler.factory.class

org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory

Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates

hbase.rpc.controllerfactory.class

org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory

Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates

hbase.coprocessor.regionserver.classes

org.apache.hadoop.hbase.regionserver.LocalIndexMerger

hbase.master.loadbalancer.class

org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer

hbase.coprocessor.master.classes

org.apache.phoenix.hbase.index.master.IndexMasterObserver

否则在创建索引的时候会出现如下错误:

java.sql.SQLException: ERROR 1029(42Y88): Mutable secondary indexes must have the hbase.regionserver.wal.codec property

set to org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec in the hbase-sites.xml of every region server tableName=INDEX_CUSTOM

5、进入phoenix 如下

3e263a2445df1d3aeb81be101641de7d.png

6、创建表和索引

CREATE TABLE IF NOT EXISTS USPO (

state CHAR(2) NOT NULL,

city VARCHAR NOT NULL,

population BIGINT CONSTRAINT my_pk PRIMARY KEY (state,city));

create index index_pupulation on population(city,state);

84b389ac8155cc7b6565a4eb2abee416.png

查看表是否创建成功:

7、将测试数据上传到hdfs 上:

uopu.csv

NY,New York,8143197

CA,Los Angeles,3844829

IL,Chicago,2842518

TX,Houston,2016582

PA,Philadelphia,1463281

AZ,Phoenix,1461575

TX,San Antonio,1256509

CA,San Diego,1255540

TX,Dallas,1213825

CA,San Jose,912332

8、执行命令:

hadoop jar /home/hadoop/phoenix-4.6.0-HBase-1.0-bin/phoenix-4.6.0-HBase-1.0-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool -t uspo -i /phoenix/uopu.csv  -z node3,node4,node7:2181

会执行Mapredue过程

9、查询数据:

6a43e89f43806335b24867c014e7c07c.png

10、查询hbase数据

786d6e04c2392cc699a7b6ef56d53b83.png

问题:

发现查询phoenix 上的uspo 数据是空的。

本文参考地址:https://phoenix.apache.org/secondary_indexing.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值