BigQuery – это бессерверная служба хранилища данных в GCP. Вы можете запускать любые виды больших рабочих нагрузок в BigQuery и выполнять аналитику в течение нескольких секунд. BigQuery обеспечивает встроенное взаимодействие с другими сервисами, такими как DataProc, DataPrep и т. Д. Кроме того, BigQuery предоставляет возможность интеграции с любыми инструментами BI, использующими драйверы JDBC и ODBC. Здесь мы собираемся настроить драйвер BigQuery ODBC в Linux.
Аутентификация:
BigQuery ODBC поддерживает два типа аутентификации. Вы можете использовать любой из них для доступа к BQ из драйвера ODBC.
- Проверка подлинности службы.
- Аутентификация пользователя.
Загрузите и установите драйвер:
Simba является поставщиком драйвера BigQuery ODBC. Нажмите на ссылку ниже, чтобы загрузить драйвер BQ ODBC как для 32-битных, так и для 64-битных версий.Драйверы Simba для Google BigQuery | BigQuery | Google CloudВложенные и повторяющиеся данные (также известные как СТРУКТУРЫ и МАССИВЫ в стандартном SQL) представлены в виде выходных данных JSON из…cloud.google.com
Я загружаю 64-разрядную версию и устанавливаю ее в /opt
каталог.
1. wget https://storage.googleapis.com/simba-bq-release/odbc/SimbaODBCDriverforGoogleBigQuery64_2.1.11.1011.tar.gz 2. tar --каталог=/opt -zxvf SimbaODBCDriverforGoogleBigQuery64_2.1.11.1011.tar.gz
Настройка ODBC с проверкой подлинности службы:
В этой аутентификации нам нужно создать учетную запись службы (или выбрать существующую) в GCP и назначить роль BigQuery. Затем загрузите учетные данные в формате JSON или ключ P12.
Создайте учетную запись службы:
- Перейдите к API → Учетные данные.
- Щелкните ключ учетной записи службы.
- Если вы хотите создать новую учетную запись, затем выберите Новую учетную запись службы из выпадающего списка или вы можете выбрать существующую, которая имеет доступ к BQ.
- Обратите внимание на идентификатор вашей учетной записи службы, мы будем использовать этот идентификатор в качестве электронной почты клиента в ODBC.
- Затем создайте учетную запись.
Настройка:
- Откройте
odbc.ini
файл.
vi /opt/simba/googlebigqueryodbc/Setup/odbc.ini
- Если вы настраиваете это для 64-битной версии, вам необходимо внести все изменения, указанные ниже
[Google BigQuery 64-bit]
- Описание → Описание вашего драйвера (необязательно)
- Драйвер → Расположение вашей установки ODBC.
- Каталог → Название вашего проекта BigQuery.
- SQLDialect → Устаревший SQL или стандартный SQL.
- OAuthMechanism → 0 (0 – это проверка подлинности службы).
- Электронная почта → Идентификатор учетной записи службы.
- Путь к файлу → Ваш JSON или P12. (Я загрузил свой ключ p12 в /opt/simba/googlebigqueryodbc/)
Настройка ODBC с аутентификацией пользователя:
Этот метод аутентификации будет использовать привилегии любого существующего пользователя учетной записи GCP. Нам нужно сгенерировать аутентификацию, а затем сгенерировать токен обновления.
- Перейдите по приведенному ниже URL-адресу.
https://accounts.google.com/o/oauth2/auth ?scope=https://www.googleapis.com/auth/bigquery&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob&client_id=977385342095.apps.googleusercontent.com&hl=en&from_login=1&as=76356ac9e8ce640b&pli=1&authuser=0
- Нажмите Разрешить, затем он предоставит код.
- Сгенерируйте токен обновления, выполнив приведенную ниже команду.
sh /opt/simba/googlebigqueryodbc/Tools/get_refresh_token.sh PASTE_YOUR_CODE
- Теперь отредактируйте
obdc.ini
файл.
vi /opt/simba/googlebigqueryodbc/Setup/odbc.ini
- Если вы настраиваете это для 64-битной версии, вам необходимо внести все изменения, указанные ниже
[Google BigQuery 64-bit]
- Описание → Описание вашего драйвера (необязательно)
- Драйвер → Расположение вашей установки ODBC.
- Каталог → Название вашего проекта BigQuery.
- SQLDialect → Устаревший SQL или стандартный SQL.
- OAuthMechanism → 1 (1 для аутентификации пользователя).
Проверьте настройки подключения ODBC:
- Чтобы проверить подключение, которое мы собираемся использовать
unixodbc
для его установки, просто запустите приведенную ниже команду.
apt-get install unixodbc
- Экспортируйте ПУТЬ к БИБЛИОТЕКЕ в переменные среды.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/simba/googlebigqueryodbc/lib/ export ODBCINI=/opt/simba/googlebigqueryodbc/Setup/odbc.ini export SIMBAGOOGLEBIGQUERYODBCINI=/opt/simba/googlebigqueryodbc/lib/64/simba.googlebigqueryodbc.ini
- Имя DSN вашего драйвера – Google BigQuery 64-bit(если вы хотите изменить имя DSN, просто откройте файл odbc.ini (в папке setup) и замените [Google BigQuery 64-bit] на нужное вам имя.)
- Запустите приведенную ниже команду с 64-битным драйвером, и он должен вернуться подключенным!
isql "Google BigQuery 64-bit"
Это поможет вам интегрировать BigQuery с вашими любимыми инструментами BI.
Дополнительно если вы работаете с R на Linux сервере(сумасшедшие), как это делаю я, то чтобы драйвер работал в настройках подключения к ODBC нужно прописать в Driver = “/opt/simba/googlebigqueryodbc/lib/64/libgooglebigqueryodbc_sb64.so” то есть путь к файлу, который отвечает за драйвер
Один ответ
Супер, спасибо!