在Hive中建立HBase表的映射

时间:2025-05-14 07:11:40

参考博客:/****DAO/article/details/53638937

建立HBase的软连接:

#!/bin/sh
#HOST是部署HBase的节点
HOST=(node1,node2,node3)
for host in ${HOST[@]}
do
  echo $host
  ssh $host "ln -s /usr/lib/hbase/hbase-client-1.0.0-cdh5.11. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/hbase/hbase-common-1.0.0-cdh5.11. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/hbase/hbase-hadoop2-compat-1.0.0-cdh5.11. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/hbase/hbase-hadoop-compat-1.0.0-cdh5.11. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/hbase/hbase-protocol-1.0.0-cdh5.11. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/hbase/hbase-server-1.0.0-cdh5.11. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/hbase/lib/htrace-core-3.0. /usr/lib/hive/lib/"
  ssh $host "ln -s /usr/lib/zookeeper/ /usr/lib/hive/lib/ "
done

执行在Hive中创建外部表的命令:

CREATE EXTERNAL TABLE royasoft.v_news_227_info(
key string comment "rowkey",
News_Id string comment "资讯ID",
News_Title string comment "标题",
News_Dt string comment "新闻日期",
Website_Id string comment "0-微信订阅号\r\n1-微博\r\n2-头条号\r\n3-知乎\r\n4-行业网站\r\n5-门户网站\r\n5-1新浪门户",
Keywords string comment "关键词",
URL string comment "原文URL",
Abstract string comment "摘要",
Author string comment "作者",
Image_URL1 string comment "图片链接1",
Image_URL2 string comment "图片链接2",
Image_URL3 string comment "图片链接3",
Image_URL4 string comment "图片链接4",
Original_Flag string comment "原创标识1-原创0-非原创\r\n3-wqj-sina-scrapy\r\n5-zhanghe-scrapy\r\n6-spz-scrapy",
Original_Declare_Flag string comment "原作者声明标识1-有声明0-无申明",
Auth_Flag string comment "授权标识1-有授权0-无授权",
Ad_Flag string comment "广告标识1-有广告0-无广告",
Tag_Group string comment "标签集",
Update_Tm string comment "更新时间YYYYMMDD HH:MM:SS",
AI_Tag_Group string comment "",
AI_Update_Tm string comment "2000-01-01 00:00:00.000")   
STORED BY ''   
WITH SERDEPROPERTIES ("" =":key,info1:News_Id,info1:News_Title,info1:News_Dt,
info1:Website_Id,info1:Keywords,info1:URL,info1:Abstract,info1:Author,info1:Image_URL1,
info1:Image_URL2,info1:Image_URL3,info1:Image_URL4,info1:Original_Flag,info1:Original_Declare_Flag,
info1:Auth_Flag,info1:Ad_Flag,info1:Tag_Group,info1:Update_Tm,info1:AI_Tag_Group,info1:AI_Update_Tm")  
TBLPROPERTIES("" = "v_news_227_info"); 

注释中不要使用逗号,Hue的中查询Impala出现中文乱码现象。