'0693-6.2.0-如何將Hive數據導入HBase'

HBase Hive SQL Hadoop實操 2019-09-03
"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



3.在Hive上執行drop操作,HBase表不會被同步刪除


"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



3.在Hive上執行drop操作,HBase表不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



HBase表依然存在不會被同步刪除


"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



3.在Hive上執行drop操作,HBase表不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



HBase表依然存在不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過創建Hive與HB 從vase的外部關聯表,在刪除Hive表的時候並不會同步的將HBase表刪除。

Hive表導數到HBase表


1.準備一個hive的測試表,這裡測試表的字段與之前創建的Hive與HBase關聯表字段一致,為了能夠方便的將數據導入到HBase表中

hive> create table hive_data (key int,name String,age string);
hive> insert into hive_data values(1,"za","13");
hive> insert into hive_data values(2,"ff","44");
hive> select * from hive_data;


查看hive_data表的數據,插入數據成功。準備完畢。


"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



3.在Hive上執行drop操作,HBase表不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



HBase表依然存在不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過創建Hive與HB 從vase的外部關聯表,在刪除Hive表的時候並不會同步的將HBase表刪除。

Hive表導數到HBase表


1.準備一個hive的測試表,這裡測試表的字段與之前創建的Hive與HBase關聯表字段一致,為了能夠方便的將數據導入到HBase表中

hive> create table hive_data (key int,name String,age string);
hive> insert into hive_data values(1,"za","13");
hive> insert into hive_data values(2,"ff","44");
hive> select * from hive_data;


查看hive_data表的數據,插入數據成功。準備完畢。


0693-6.2.0-如何將Hive數據導入HBase



2.通過如下SQL語句將hive表的數據導入到Hive與HBase的關聯表中,從而實現Hive數據寫入HBase

hive> insert into table hive_hbase_table select * from hive_data;
hive> select * from hive_hbase_table;



"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



3.在Hive上執行drop操作,HBase表不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



HBase表依然存在不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過創建Hive與HB 從vase的外部關聯表,在刪除Hive表的時候並不會同步的將HBase表刪除。

Hive表導數到HBase表


1.準備一個hive的測試表,這裡測試表的字段與之前創建的Hive與HBase關聯表字段一致,為了能夠方便的將數據導入到HBase表中

hive> create table hive_data (key int,name String,age string);
hive> insert into hive_data values(1,"za","13");
hive> insert into hive_data values(2,"ff","44");
hive> select * from hive_data;


查看hive_data表的數據,插入數據成功。準備完畢。


0693-6.2.0-如何將Hive數據導入HBase



2.通過如下SQL語句將hive表的數據導入到Hive與HBase的關聯表中,從而實現Hive數據寫入HBase

hive> insert into table hive_hbase_table select * from hive_data;
hive> select * from hive_hbase_table;



0693-6.2.0-如何將Hive數據導入HBase



然後在HBase中查看錶hbase_table的數據,也同步了過來,數據與hive表中的數據一致,導入成功。

hbase(main):014:0> scan 'hbase_table'



"

作者:汪汝慶

文檔編寫目的


在一些業務場景中需要將Hive的數據導入到HBase中,通過HBase服務為線上業務提供服務能力。本篇文章Fayson主要通過在Hive上創建整合HBase表的方式來實現Hive數據導入到HBase。

  • 測試環境

1.Redhat7.2

2.採用root用戶操作

3.CM/CDH6.2.0

創建Hive與HBase關聯表

2.1 創建同步關聯表


1.在Hive的命令行執行如下SQL創建Hive與HBase關聯表

CREATE TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



2.在HBase Shell命令行查看


0693-6.2.0-如何將Hive數據導入HBase



3.刪除hive_hbase_table表


0693-6.2.0-如何將Hive數據導入HBase



再次登錄HBase Shell查看hbase_table表已不存在被刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過上述命令創建Hive與HBase關聯表,如果HBase表不存在時會自動創建,但通過Hive將表刪除時也同時會刪除與之關聯的HBase表。

2.2 創建外部關聯表


1.在HBase上創建一個hbase_hive表

hbase(main):003:0> create 'hbase_table','cf1'
hbase(main):004:0> list



0693-6.2.0-如何將Hive數據導入HBase



2.在Hive上執行如下SQL創建Hive與HBase關聯的外部表

CREATE EXTERNAL TABLE hive_hbase_table(
key int,
name String,
age String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_table", "hbase.mapred.output.outputtable" = "hbase_table");



0693-6.2.0-如何將Hive數據導入HBase



3.在Hive上執行drop操作,HBase表不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



HBase表依然存在不會被同步刪除


0693-6.2.0-如何將Hive數據導入HBase



可以看到通過創建Hive與HB 從vase的外部關聯表,在刪除Hive表的時候並不會同步的將HBase表刪除。

Hive表導數到HBase表


1.準備一個hive的測試表,這裡測試表的字段與之前創建的Hive與HBase關聯表字段一致,為了能夠方便的將數據導入到HBase表中

hive> create table hive_data (key int,name String,age string);
hive> insert into hive_data values(1,"za","13");
hive> insert into hive_data values(2,"ff","44");
hive> select * from hive_data;


查看hive_data表的數據,插入數據成功。準備完畢。


0693-6.2.0-如何將Hive數據導入HBase



2.通過如下SQL語句將hive表的數據導入到Hive與HBase的關聯表中,從而實現Hive數據寫入HBase

hive> insert into table hive_hbase_table select * from hive_data;
hive> select * from hive_hbase_table;



0693-6.2.0-如何將Hive數據導入HBase



然後在HBase中查看錶hbase_table的數據,也同步了過來,數據與hive表中的數據一致,導入成功。

hbase(main):014:0> scan 'hbase_table'



0693-6.2.0-如何將Hive數據導入HBase



通過如上方式可以方便的將Hive表的數據寫入到HBase表中,為線上業務提供數據服務。

總結


1.未使用EXTERNAL關鍵字創建Hive與HBase關聯表時,如果HBase表不存在會自動創建,且刪除Hive表的同時也會刪除HBase表。

2.使用EXTERNAL關鍵字創建Hive與HBase關聯表時,HBase表必須存在,且刪除Hive表是不會刪除HBase表。

3.通過Hive創建與HBase關聯的表後,可以方便的使用SQL語句方便的向HBase表中寫入數據。​

"

相關推薦

推薦中...