Hive集成Hbase

博客主要介绍了 Hive 集成 HBase 的相关内容,具体包括使用 HQL 语句创建指向 HBase 的 Hive 表,以及在 Hive 中创建指向已存在 HBase 表的 Hive 表。

Hive 集成 Hbase

1. 使用 HQL 语句创建一个指向 HBase 的 Hive 表

-- 尝试以下,所以全部为string类型
CREATE TABLE hbase_table(key string,name string,gender string,age string)
-- 指定存储处理器
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
-- 声明HBase中对应的表的列簇及列名
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,base:name,base:gender,base:age")
-- hbase.table.name声明HBase表名,为可选属性,默认与Hive中的表名相同
-- hbase.mapred.output.outputtable指定插入数据时写入的表,如果以后需要往该表插入数
TBLPROPERTIES ("hbase.table.name" = "mystudent", "hbase.mapred.output.outputtable" = "mystudent");

2. 使用 Hive 中创建一个指向已经存在的 HBase 表的 Hive 表

-- 由于数据存储在Hbase中,所以是external表,并指定在创建的Hive表名
CREATE EXTERNAL TABLE hbase_table_2(key string, name string,gender string ,age string)
-- 指定存储处理器
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
-- Hive和HBase之间的映射关系
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key ,base:name,base:gender,base:age")
-- 指定已存在的Hbase表
TBLPROPERTIES("hbase.table.name" = "student", "hbase.mapred.output.outputtable" = "student");

转载于:https://www.cnblogs.com/hwang126/p/11068793.html

HiveHBase 是 Hadoop 生态系统中的两个重要组件,它们可以集成使用以提供更强大的数据处理和分析能力。 1. **Hive 简介**: Hive 是一个基于 Hadoop 的数据仓库工具,用于处理结构化数据。它提供了类似 SQL 的查询语言 HiveQL,使得数据分析和查询变得更加简单和高效。 2. **HBase 简介**: HBase 是一个分布式、面向列的 NoSQL 数据库,建立在 Hadoop 的 HDFS 之上。它适合存储大规模稀疏数据,并提供实时读写访问。 3. **集成目的**: 将 HiveHBase 集成的主要目的是结合 Hive 的数据处理能力和 HBase 的实时数据访问能力。通过集成,用户可以使用 HiveQL 查询存储在 HBase 中的数据,并将分析结果写回 HBase。 4. **集成方式**: - **外部**:在 Hive 中创建外部,映射到 HBase 中的。这样,Hive 可以直接查询 HBase 中的数据。 - **映射**:通过 Hive 的映射,将 HBase 中的数据导入到 Hive 中进行分析。 5. **集成步骤**: - **配置 HiveHBase**:确保 HiveHBase 都在同一 Hadoop 集群上,并且 Hive 配置文件正确指向 HBase。 - **创建外部**:在 Hive 中使用 `CREATE EXTERNAL TABLE` 语句创建外部,并使用 `STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'` 指定存储处理器。 - **查询数据**:使用 HiveQL 查询 HBase 中的数据。 ```sql CREATE EXTERNAL TABLE hive_table ( key string, column_family:column1 string, column_family:column2 int ) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,column_family:column1,column_family:column2") TBLPROPERTIES ("hbase.table.name" = "hbase_table"); ``` 6. **优点**: - **实时数据访问**:通过 HBase 提供的实时数据访问能力,用户可以实时查询和分析数据。 - **数据分析**:利用 Hive 提供的强大数据处理和分析能力,用户可以对存储在 HBase 中的数据进行复杂的数据分析和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值