- Apache Tajo 教程
- Apache Tajo - 首页
- Apache Tajo - 简介
- Apache Tajo - 架构
- Apache Tajo - 安装
- Apache Tajo - 配置设置
- Apache Tajo - Shell 命令
- Apache Tajo - 数据类型
- Apache Tajo - 运算符
- Apache Tajo - SQL 函数
- Apache Tajo - 数学函数
- Apache Tajo - 字符串函数
- Apache Tajo - 日期时间函数
- Apache Tajo - JSON 函数
- Apache Tajo - 数据库创建
- Apache Tajo - 表管理
- Apache Tajo - SQL 语句
- 聚合和窗口函数
- Apache Tajo - SQL 查询
- Apache Tajo - 存储插件
- 与HBase集成
- Apache Tajo - 与Hive集成
- OpenStack Swift 集成
- Apache Tajo - JDBC 接口
- Apache Tajo - 自定义函数
- Apache Tajo 有用资源
- Apache Tajo - 快速指南
- Apache Tajo - 有用资源
- Apache Tajo - 讨论
Apache Tajo - 与HBase集成
Apache Tajo 支持与 HBase 集成。这使我们能够在 Tajo 中访问 HBase 表。HBase 是一个基于 Hadoop 文件系统构建的分布式列式数据库。它是 Hadoop 生态系统的一部分,提供对 Hadoop 文件系统中数据的随机实时读写访问。配置 HBase 集成需要以下步骤。
设置环境变量
将以下更改添加到“conf/tajo-env.sh”文件。
$ vi conf/tajo-env.sh # HBase home directory. It is opitional but is required mandatorily to use HBase. # export HBASE_HOME = path/to/HBase
包含 HBase 路径后,Tajo 将将 HBase 库文件设置为类路径。
创建外部表
使用以下语法创建外部表:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> [(<column_name> <data_type>, ... )]
USING hbase WITH ('table' = '<hbase_table_name>'
, 'columns' = ':key,<column_family_name>:<qualifier_name>, ...'
, 'hbase.zookeeper.quorum' = '<zookeeper_address>'
, 'hbase.zookeeper.property.clientPort' = '<zookeeper_client_port>')
[LOCATION 'hbase:zk://<hostname>:<port>/'] ;
要访问 HBase 表,必须配置表空间位置。
这里,
表 - 设置 hbase 源表名。如果要创建外部表,则表必须存在于 HBase 中。
列 - Key 指的是 HBase 行键。列条目的数量需要等于 Tajo 表列的数量。
hbase.zookeeper.quorum - 设置 zookeeper 集群地址。
hbase.zookeeper.property.clientPort - 设置 zookeeper 客户端端口。
查询
CREATE EXTERNAL TABLE students (rowkey text,id int,name text)
USING hbase WITH ('table' = 'students', 'columns' = ':key,info:id,content:name')
LOCATION 'hbase:zk://<hostname>:<port>/';
这里,Location path 字段设置 zookeeper 客户端端口 ID。如果不设置端口,Tajo 将引用 hbase-site.xml 文件的属性。
在 HBase 中创建表
可以使用“hbase shell”命令启动 HBase 交互式 shell,如下面的查询所示。
查询
/bin/hbase shell
结果
上述查询将生成以下结果。
hbase(main):001:0>
查询 HBase 的步骤
要查询 HBase,应完成以下步骤:
步骤 1 - 将以下命令传递到 HBase shell 以创建“tutorial”表。
查询
hbase(main):001:0> create ‘students’,{NAME => ’info’},{NAME => ’content’}
put 'students', ‘row-01', 'content:name', 'Adam'
put 'students', ‘row-01', 'info:id', '001'
put 'students', ‘row-02', 'content:name', 'Amit'
put 'students', ‘row-02', 'info:id', '002'
put 'students', ‘row-03', 'content:name', 'Bob'
put 'students', ‘row-03', 'info:id', ‘003'
步骤 2 - 现在,在 hbase shell 中发出以下命令以将数据加载到表中。
main):001:0> cat ../hbase/hbase-students.txt | bin/hbase shell
步骤 3 - 现在,返回到 Tajo shell 并执行以下命令以查看表的元数据:
default> \d students; table name: default.students table path: store type: HBASE number of rows: unknown volume: 0 B Options: 'columns' = ':key,info:id,content:name' 'table' = 'students' schema: rowkey TEXT id INT4 name TEXT
步骤 4 - 要从表中获取结果,请使用以下查询:
查询
default> select * from students
结果
上述查询将获取以下结果:
rowkey, id, name ------------------------------- row-01, 001, Adam row-02, 002, Amit row-03 003, Bob