最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

[Hbase] 如何映射 Hbase表

[复制链接]
发表于 2020-3-5 16:30:40 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 168主编 于 2020-3-5 16:32 编辑

使用 Hive 来映射 Hbase 表,可以使用 Hive 来读取 Hbase 上的数据,使用 Hive-SQL 语句在 Hbase 表上进行查询、插入等操作。
1. 开发准备
  • 确认您已经开通了腾讯云,并且创建了一个 EMR 集群。在创建 EMR 集群的时候需要在软件配置界面选择 Hive,Hbase 组件。
  • Hive 等相关软件安装在路径 EMR 云服务器的/usr/local/service/路径下。

2. 创建一个 Hbase 表
首先需要登录 EMR 集群中的任意机器,最好是登录到 Master 节点。登录 EMR 的方式请参考 登录 Linux 实例。这里我们可以选择使用 WebShell 登录。单击对应云服务器右侧的登录,进入登录界面,用户名默认为 root,密码为创建 EMR 时用户自己输入的密码。输入正确后,即可进入命令行界面。
在 EMR 命令行先使用以下指令切换到 hadoop 用户,进入 Hbase 文件夹并进入 Hbase shell:
[AppleScript] 纯文本查看 复制代码
[root@172 ~]# su hadoop
[hadoop@172 ~]# cd /usr/local/service/hbase
[hadoop@10hbase]$ bin/hbase shell

在 Hbase 中建立一个新表,如下所示:
[AppleScript] 纯文本查看 复制代码
hbase(main):001:0> create 'test', 'cf'
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
hbase(main):004:0> put 'test', 'row1', 'cf:b', 'value2'
hbase(main):005:0> put 'test', 'row1', 'cf:c', 'value3'

更多在 Hbase 中的操作详见 Hbase 操作指南,或者查看 官方文档。
创建完成之后,可以使用list和scan操作来查看新建的表。
[AppleScript] 纯文本查看 复制代码
hbase(main):001:0> list 'test'
TABLE                                                       
test                                                         
1 row(s) in 0.0030 seconds
=> ["test"]

hbase(main):002:0> scan 'test'
ROW  COLUMN+CELL                                             
row1   column=cf:a, timestamp=1530276759697, value=value1   
row2   column=cf:b, timestamp=1530276777806, value=value2   
row3   column=cf:c, timestamp=1530276792839, value=value3   
3 row(s) in 0.2110 seconds

3. 映射 Hive 表
切换到 Hive 文件夹下,并且连接到 Hive 上:

[hadoop@172 hive]$ cd /usr/local/service/hive/[hadoop@172 hive]$ bin/hive

接下来创建一个 Hive 外部表让它映射到第二步中创建的 Hbase 表上:
[AppleScript] 纯文本查看 复制代码
hive> CREATE EXTERNAL TABLE hive_test (
    > rowkey string,
    > a string,
    > b string,
    > c string
    > ) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH
    > SERDEPROPERTIES("hbase.columns.mapping" = ":key,cf:a,cf:b,cf:c")
    > TBLPROPERTIES("hbase.table.name" = "test");
OK
Time taken: 2.086 seconds

这样就建立了一个 Hive 表到 Hbase 表的映射。可以使用以下指令来查看 Hive 表中的元素:

hive> select * from hive_test;OKrow1 value1    value2 value3Time taken: 0.305 seconds, Fetched: 1 row(s)

楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-16 14:55

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表