2015-10-01 3 views
2

В списке функций Apache Drill упоминается, что он может запрашивать данные из Google Cloud Storage, но я не могу найти никакой информации о том, как это сделать. У меня это нормально работает с S3, но подозреваю, что мне не хватает чего-то очень простого с точки зрения облачного хранилища Google.Apache Drill с использованием облачного хранилища Google

Есть ли у кого-нибудь пример конфигурации плагина хранилища для Google Cloud Storage?

Благодаря

M

+1

Вы нашли, как это сделать? Я пробовал список рассылки и твиттер, но не ответил:/ – Johan

+0

Вы нашли решение для этого? Я пытаюсь запустить кластер сверла на экземплярах вычислений, которые мне нужно подключиться к облачному хранилищу Google? – sanjay

ответ

1

мне удалось запросить паркетным данные в Google Cloud Storage (GCS) с помощью Apache Drill (1.6.0) работает на кластере Google Dataproc. Для того, чтобы установить, что, я принял следующие шаги:

  1. Install Drill и сделать разъем GCS доступным (это может быть использовано в качестве инициализации-скрипта для dataproc, просто отметим, что на самом деле не проходят и опирается на локальный экземпляр Zookeeper):

    #!/bin/sh 
    set -x -e 
    BASEDIR="/opt/apache-drill-1.6.0" 
    mkdir -p ${BASEDIR} 
    cd ${BASEDIR} 
    wget http://apache.mesi.com.ar/drill/drill-1.6.0/apache-drill-1.6.0.tar.gz 
    tar -xzvf apache-drill-1.6.0.tar.gz 
    mv apache-drill-1.6.0/* . 
    rm -rf apache-drill-1.6.0 apache-drill-1.6.0.tar.gz 
    
    ln -s /usr/lib/hadoop/lib/gcs-connector-1.4.5-hadoop2.jar ${BASEDIR}/jars/gcs-connector-1.4.5-hadoop2.jar 
    mv ${BASEDIR}/conf/core-site.xml ${BASEDIR}/conf/core-site.xml.old 
    ln -s /etc/hadoop/conf/core-site.xml ${BASEDIR}/conf/core-site.xml 
    
    drillbit.sh start 
    
    set +x +e 
    
  2. Подключение к консоли Drill, создать новый плагин для хранения (назовем его, скажем, gcs), и используйте следующую конфигурацию (обратите внимание, я скопировал большую часть его из s3 config, внесены незначительные изменения):

    { 
        "type": "file", 
        "enabled": true, 
        "connection": "gs://myBucketName", 
        "config": null, 
        "workspaces": { 
        "root": { 
         "location": "/", 
         "writable": false, 
         "defaultInputFormat": null 
        }, 
        "tmp": { 
         "location": "/tmp", 
         "writable": true, 
         "defaultInputFormat": null 
        } 
        }, 
        "formats": { 
        "psv": { 
         "type": "text", 
         "extensions": [ 
         "tbl" 
         ], 
         "delimiter": "|" 
        }, 
        "csv": { 
         "type": "text", 
         "extensions": [ 
         "csv" 
         ], 
         "delimiter": "," 
        }, 
        "tsv": { 
         "type": "text", 
         "extensions": [ 
         "tsv" 
         ], 
         "delimiter": "\t" 
        }, 
        "parquet": { 
         "type": "parquet" 
        }, 
        "json": { 
         "type": "json", 
         "extensions": [ 
         "json" 
         ] 
        }, 
        "avro": { 
         "type": "avro" 
        }, 
        "sequencefile": { 
         "type": "sequencefile", 
         "extensions": [ 
         "seq" 
         ] 
        }, 
        "csvh": { 
         "type": "text", 
         "extensions": [ 
         "csvh" 
         ], 
         "extractHeader": true, 
         "delimiter": "," 
        } 
        } 
    } 
    
  3. запроса, используя следующий синтаксис (обратите внимание на кавычку):

    select * from gs.`root`.`path/to/data/*` limit 10; 
    
+0

Как это сделать, если я создаю кластер сверла на экземплярах вычислений и попытаюсь получить доступ к хранилищу Google. – sanjay

+1

Я считаю, что вам нужен разъем [GCS] (https://cloud.google.com/hadoop/google-cloud-storage-connector). Он предварительно установлен в Dataproc, и я не пытался использовать его в других сценариях, таких как «голые» вычислительные экземпляры с Drill. Если вы используете Dataproc, он получает много головной боли управления, сделанной для вас, а недостатком является то, что в кластере работают другие ненужные службы, но по моему опыту накладные расходы незначительны. –

Смежные вопросы