Tajo OpenStack Swift集成
Swift 是一个分布式且一致的对象/blob 存储。 Swift 提供了云存储软件,因此您可以使用简单的 API 存储和检索大量数据。 Tajo 支持 Swift 集成。
以下是 Swift 集成的先决条件-
Swift
Hadoop
Core-site.xml
将以下更改添加到 hadoop"core-site.xml"文件-
<property>
<name>fs.swift.impl</name>
<value>org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem</value>
<description>File system implementation for Swift</description>
</property>
<property>
<name>fs.swift.blocksize</name>
<value>131072</value>
<description>Split size in KB</description>
</property>
这将用于 Hadoop 访问 Swift 对象。完成所有更改后,移至 Tajo 目录以设置 Swift 环境变量。
conf/tajo-env.h
打开 Tajo 配置文件并添加如下设置环境变量-
$ vi conf/tajo-env.h
export TAJO_CLASSPATH = $HADOOP_HOME/share/hadoop/tools/lib/hadoop-openstack-x.x.x.jar
现在,Tajo 将能够使用 Swift 查询数据。
创建表
让我们创建一个外部表来访问 Tajo 中的 Swift 对象,如下所示-
default> create external table swift(num1 int, num2 text, num3 float)
using text with ('text.delimiter' = '|') location 'swift://bucket-name/table1';
表创建后,您可以运行 SQL 查询。