zoukankan      html  css  js  c++  java
  • Phoneix(四)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

     

    b、phoneix

  • 相关阅读:
    hibernate和mybatis区别
    Spring事务的传播行为和隔离级别
    数组拷贝
    spring mvc 一次请求 两次查询
    手游性能之渲染分析3
    Android pm 命令详解
    Android am命令使用
    Android dumpsys命令详细使用
    java处理高并发高负载类网站的优化方法
    关于ArrayList的5道面试题
  • 原文地址:https://www.cnblogs.com/yfb918/p/10895754.html
Copyright © 2011-2022 走看看