Apache Tajo - Интеграция OpenStack Swift

Swift - это распределенное и согласованное хранилище объектов / BLOB-объектов. Swift предлагает программное обеспечение для облачного хранилища, так что вы можете хранить и извлекать большой объем данных с помощью простого API. Tajo поддерживает интеграцию со 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.

Создать таблицу

Давайте создадим внешнюю таблицу для доступа к объектам Swift в Tajo следующим образом:

default> create external table swift(num1 int, num2 text, num3 float) 
   using text with ('text.delimiter' = '|') location 'swift://bucket-name/table1';

После создания таблицы вы можете выполнять запросы SQL.