前面我們已經(jīng)通過flink將數(shù)據(jù)介入到了hbase當(dāng)中去了饭玲,那么我們接下來就可以通過hive整合hbase,將hbase當(dāng)中的數(shù)據(jù)映射到hive表當(dāng)中來竿刁,然后通過kylin來對(duì)hive當(dāng)中的數(shù)據(jù)進(jìn)行預(yù)分析勤讽,實(shí)現(xiàn)實(shí)時(shí)數(shù)倉的統(tǒng)計(jì)功能
第一步:拷貝hbase的五個(gè)jar包到hive的lib目錄下
將我們HBase的五個(gè)jar包拷貝到hive的lib目錄下
hbase的jar包都在/kkb/install/hbase-1.2.0-cdh5.14.2/lib
我們需要拷貝五個(gè)jar包名字如下
hbase-client-1.2.0-cdh5.14.2.jar
hbase-hadoop2-compat-1.2.0-cdh5.14.2.jar
hbase-hadoop-compat-1.2.0-cdh5.14.2.jar
hbase-it-1.2.0-cdh5.14.2.jar
hbase-server-1.2.0-cdh5.14.2.jar
我們直接在node03執(zhí)行以下命令,通過創(chuàng)建軟連接的方式來進(jìn)行jar包的依賴
ln -s /kkb/install/hbase-1.2.0-cdh5.14.2/lib/hbase-client-1.2.0-cdh5.14.2.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/hbase-client-1.2.0-cdh5.14.2.jar
ln -s /kkb/install/hbase-1.2.0-cdh5.14.2/lib/hbase-hadoop2-compat-1.2.0-cdh5.14.2.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/hbase-hadoop2-compat-1.2.0-cdh5.14.2.jar
ln -s /kkb/install/hbase-1.2.0-cdh5.14.2/lib/hbase-hadoop-compat-1.2.0-cdh5.14.2.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/hbase-hadoop-compat-1.2.0-cdh5.14.2.jar
ln -s /kkb/install/hbase-1.2.0-cdh5.14.2/lib/hbase-it-1.2.0-cdh5.14.2.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/hbase-it-1.2.0-cdh5.14.2.jar
ln -s /kkb/install/hbase-1.2.0-cdh5.14.2/lib/hbase-server-1.2.0-cdh5.14.2.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/hbase-server-1.2.0-cdh5.14.2.jar
第二步:修改hive的配置文件
編輯node03服務(wù)器上面的hive的配置文件hive-site.xml添加以下兩行配置
cd /kkb/install/hive-1.1.0-cdh5.14.2/conf
vim hive-site.xml
<property>
<name>hive.zookeeper.quorum</name>
<value>node01,node02,node03</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01,node02,node03</value>
</property>
第三步:修改hive-env.sh配置文件添加以下配置
cd /kkb/install/hive-1.1.0-cdh5.14.2/conf
vim hive-env.sh
export HADOOP_HOME=/kkb/install/hadoop-2.6.0-cdh5.14.2
export HBASE_HOME=/kkb/install/hbase-1.2.0-cdh5.14.2/
export HIVE_CONF_DIR=/kkb/install/hive-1.1.0-cdh5.14.2/conf
第四步:創(chuàng)建hive表,映射hbase當(dāng)中的數(shù)據(jù)
進(jìn)入hive客戶端,創(chuàng)建hive映射表,映射hbase當(dāng)中的兩張表數(shù)據(jù)
create database hive_hbase;
use hive_hbase;
CREATE external TABLE hive_hbase.data_goods(goodsId int ,goodsName string ,sellingPrice string ,productPic string ,productBrand string ,productfbl string ,productNum string ,productUrl string ,productFrom string ,goodsStock int , appraiseNum int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key,f1:goodsName ,f1:sellingPrice ,f1:productPic ,f1:productBrand ,f1:productfbl ,f1:productNum ,f1:productUrl ,f1:productFrom ,f1:goodsStock , f1:appraiseNum")
TBLPROPERTIES("hbase.table.name" ="flink:data_goods");
CREATE external TABLE hive_hbase.data_orders(orderId int,orderNo string ,userId int,goodId int ,goodsMoney decimal(11,2) ,realTotalMoney decimal(11,2) ,payFrom int ,province string ,createTime timestamp )
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key, f1:orderNo , f1:userId , f1:goodId , f1:goodsMoney ,f1:realTotalMoney,f1:payFrom ,f1:province,f1:createTime")
TBLPROPERTIES("hbase.table.name" ="flink:data_orders");
第五步:在kylin當(dāng)中對(duì)我們hive的數(shù)據(jù)進(jìn)行多維度分析
直接登錄kylin的管理界面僵驰,對(duì)我們hive當(dāng)中的數(shù)據(jù)進(jìn)行多維度分析