Я нашел ответ здесь полезным: Apache Drill с использованием Google Cloud Storage
В Google Cloud Dataproc вы можете настроить его с помощью действия инициализации, как в ответе выше. Существует также полный вариант, который вы можете использовать, который создает GCS плагин для вас, по умолчанию указывающий на эфемерное ведро, созданное с вашим кластером dataproc.
Если вы не используете Cloud Dataproc, вы можете сделать следующее в уже установленном кластере Drill.
Получите откуда-нибудь коннектор GCS и поместите его в каталог сторонних jar-файлов Drill. . Настройка GCS подробно описана по ссылке выше. В dataproc jar коннектора находится в /usr/lib/hadoop, поэтому описанное выше действие инициализации делает следующее:
# Link GCS connector to drill jars
ln -sf /usr/lib/hadoop/lib/gcs-connector-1.6.0-hadoop2.jar $DRILL_HOME/jars/3rdparty
Вам также необходимо настроить файл core-site.xml и сделать его доступным для Drill. Это необходимо для того, чтобы Drill знал, как подключиться к GCS.
# Symlink core-site.xml to $DRILL_HOME/conf
ln -sf /etc/hadoop/conf/core-site.xml $DRILL_HOME/conf
Запустите или перезапустите буровые долота по мере необходимости.
После запуска Drill вы можете создать новый плагин, который указывает на корзину GCS. Сначала запишите файл JSON, содержащий конфигурацию плагина:
export DATAPROC_BUCKET=gs://your-bucket-name
cat > /tmp/gcs_plugin.json <<EOF
{
"config": {
"connection": "$DATAPROC_BUCKET",
"enabled": true,
"formats": {
"avro": {
"type": "avro"
},
"csv": {
"delimiter": ",",
"extensions": [
"csv"
],
"type": "text"
},
"csvh": {
"delimiter": ",",
"extensions": [
"csvh"
],
"extractHeader": true,
"type": "text"
},
"json": {
"extensions": [
"json"
],
"type": "json"
},
"parquet": {
"type": "parquet"
},
"psv": {
"delimiter": "|",
"extensions": [
"tbl"
],
"type": "text"
},
"sequencefile": {
"extensions": [
"seq"
],
"type": "sequencefile"
},
"tsv": {
"delimiter": "\t",
"extensions": [
"tsv"
],
"type": "text"
}
},
"type": "file",
"workspaces": {
"root": {
"defaultInputFormat": null,
"location": "/",
"writable": false
},
"tmp": {
"defaultInputFormat": null,
"location": "/tmp",
"writable": true
}
}
},
"name": "gs"
}
EOF
Затем отправьте новый плагин на любое сверло (я предполагаю, что вы используете его на одном из сверл):
curl -d@/tmp/gcs_plugin.json \
-H "Content-Type: application/json" \
-X POST http://localhost:8047/storage/gs.json
Я считаю, что вам нужно повторить эту процедуру, изменив имя («gs» выше), если вы хотите, чтобы Drill запрашивал несколько сегментов.
Затем вы можете запустить sqlline и проверить, можете ли вы запрашивать файлы в этом сегменте.
person
Vince Gonzalez
schedule
13.03.2017