Apache Tajo - OpenStack Swift集成

Swift是一个分布式且一致的对象/blob存储. Swift提供云存储软件,以便您可以使用简单的API存储和检索大量数据. Tajo支持Swift集成.

以下是Swift Integration&minus的先决条件;

  • 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查询.