zoukankan      html  css  js  c++  java
  • hive连接hbase

    使用hive连接hbase

    前提说明:一个hive表指向一个hbase表,一对一,不能多对一

    建立外部表

    CREATE EXTERNAL TABLE test_hbase(
    key string, 
    mid string,
    gender string,
    ct string,
    cy string,
    pr string,
    city string
    ) 
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
    WITH SERDEPROPERTIES
    ("hbase.columns.mapping" = 
    ":key,i:_id,i:sex,i:ct,i:cy,i:pr,i:city")
    TBLPROPERTIES("hbase.table.name" = "test");
    

    说明:

    1. hive的表名可以自己定义
    2. hive中的字段名可以自定义
    3. 建表语句后面的 ***WITH SERDEPROPERTIES*** 指向hbase表中的字段,必须一一对应
    4. 建表语句后面的 ***TBLPROPERTIES*** 指定 hbase 表名
    5. 删除此表不会影响 hbase 中的表
    6. 谨慎操作清除数据语句
    	1. )可以通过hive的多用户来限定权限
    

    建立内部表

    create table hbase2(
    rowkey string,
    a string, 
    b string) 
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    WITHSERDEPROPERTIES ("hbase.columns.mapping" =":key,cf:a,cf:b")
    TBLPROPERTIES  ("hbase.table.name" = "hbase3");
    

    说明:

    1. 与Hbase外部表的建表语句相比少了一个 EXTERNAL
    2. 其他方面与建外表的语句相同
    3. 目前测试时会出错
  • 相关阅读:
    PHP compact() 函数
    JS动态插入HTML后不能执行后续JQUERY操作
    find命令
    服务提供者框架模式
    Ant的使用
    git的常用命令
    结合程序崩溃后的core文件分析bug
    设备特殊文件
    函数chdir、fchdir和getcwd
    静态库和动态库
  • 原文地址:https://www.cnblogs.com/fengzzi/p/10033077.html
Copyright © 2011-2022 走看看