hive和hbase資料相互關聯
阿新 • • 發佈:2019-01-14
一.使用hive獲取,HBASE中資料 1.create 'hadoop:hbase_hive_human','info' 2.造數 put 'hadoop:hbase_hive_human','1','info:id','1' put 'hadoop:hbase_hive_human','1','info:name','wang' put 'hadoop:hbase_hive_human','1','info:age',18 put 'hadoop:hbase_hive_human','2','info:id','2' put 'hadoop:hbase_hive_human','2','info:name','wang' put 'hadoop:hbase_hive_human','2','info:age',18 put 'hadoop:hbase_hive_human','3','info:id','3' put 'hadoop:hbase_hive_human','3','info:name','wang' put 'hadoop:hbase_hive_human','3','info:age',18 put 'hadoop:hbase_hive_human','4','info:id','4' put 'hadoop:hbase_hive_human','4','info:name','wang' put 'hadoop:hbase_hive_human','4','info:age',18 put 'hadoop:hbase_hive_human','5','info:id','5' put 'hadoop:hbase_hive_human','5','info:name','wang' put 'hadoop:hbase_hive_human','5','info:age',18 3.建立一個 create external table hive.hbase_hive_human( rowkey string, id int, name string ) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,info:id,info:name" ,"hbase.table.name" = "hadoop:hbase_hive_human"); 或 create external table hive.hbase_hive_human( rowkey string, id int, name string ) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,info:id,info:name") tblproperties ("hbase.table.name" = "hadoop:hbase_hive_human");
二.利用hive把hdfs中資料匯入hbase sqoop只能把資料匯入到hdfs中, 所有可以利用hive 再把hdfs中資料匯入hbase中 1.建立一個hive表 create table hive.hivetohbase( id int, name string, age int ) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ( "hbase.columns.mapping" = ":key,info:name,info:age", "hbase.table.name" = "hadoop:hivetohbase"); 不能直接從本地匯入到該表(報錯) load data local inpath '/home/wang/a/1.txt' INTO TABLE hive.hivetohbase; 可以使用以下方式插入資料: insert into table hive.hivetohbase select id,name,age from st; insert OVERWRITE table hive.hivetohbase select id,name,age from st;