Apache Tajo-OpenStack Swift 통합

Swift는 분산되고 일관된 개체 / Blob 저장소입니다. Swift는 간단한 API로 많은 데이터를 저장하고 검색 할 수 있도록 클라우드 스토리지 소프트웨어를 제공합니다. Tajo는 Swift 통합을 지원합니다.

다음은 Swift Integration의 전제 조건입니다-

  • 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 쿼리를 실행할 수 있습니다.