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. 目前测试时会出错
  • 相关阅读:
    SQL Server控制语句
    MATLAB中取整函数(fix, floor, ceil, round)的使用
    MATLAB程序设计
    Thinking In Java<<Java编程思想>>
    Boost::bimap
    MySQL学习随笔1
    Boost 1_42_0在windows下的编译及其设置
    MySQL执行mysql脚本及其脚本编写
    Pygame介绍
    Erlang
  • 原文地址:https://www.cnblogs.com/fengzzi/p/10033077.html
Copyright © 2011-2022 走看看