Как запланировать сервис BigQuery DataTransfer с помощью команды bq - PullRequest
1 голос
/ 20 января 2020

Я пытаюсь создать службу передачи данных с помощью BigQuery. Я использовал команду bq для создания DTS,

  1. Я могу успешно создать DTS
  2. Мне нужно указать пользовательское время для планирования, используя команду bq

Можно ли запланировать пользовательское время при создании службы передачи данных. См. Пример команды bq

bq mk --transfer_config \
--project_id='My project' \
--target_dataset='My Dataset' \
--display_name='test_bqdts' \
--params='{"data_path":<data_path>,
"destination_table_name_template":<destination_table_name>,
"file_format":<>,
"ignore_unknown_values":"true",
"access_key_id": "access_key_id",
"secret_access_key": "secret_access_key"
}' \
--data_source=data_source_id

ПРИМЕЧАНИЕ. При создании передачи Amazon S3 с помощью инструмента командной строки конфигурация передачи настраивается с использованием значения по умолчанию «Расписание» (каждые 24 часа).

1 Ответ

1 голос
/ 20 января 2020

Вы можете использовать флаг --schedule, как видите здесь

Опция 2: Используйте команду bq mk.

Запланированные запросы являются разновидностью передачи. Чтобы запланировать запрос, вы можете использовать интерфейс командной строки BigQuery Data Transfer Service для настройки передачи.

Запросы должны быть на стандартном диалекте SQL, чтобы планироваться.

Введите команду bq mk и укажите флаг создания перевода --transfer_config. Также требуются следующие флаги:

  • - источник данных
  • - target_dataset (Необязательно для запросов DDL / DML.)
  • - display_name
  • - params

Необязательные флаги:

  • - project_id - это идентификатор вашего проекта. Если --project_id не указан, используется проект по умолчанию.

  • - график того, как часто вы хотите, чтобы запрос выполнялся. Если --schedule не указан, по умолчанию используется значение «каждые 24 часа» в зависимости от времени создания.

  • Для запросов DDL / DML вы также можете указать флаг --location для указать конкретный регион для обработки. Если --location не указан, используется глобальное местоположение Google Cloud.

  • - service_account_name для аутентификации вашего запланированного запроса с учетной записью службы вместо вашей отдельной учетной записи пользователя. Примечание. Использование служебных учетных записей с запланированными запросами находится в стадии бета-тестирования.


    bq mk \
    --transfer_config \
    --project_id = project_id \
    --target_dataset = набор данных \
    --display_name = name \
    - -params = 'parameters' \
    --data_source = data_source

Если вы хотите установить, например, расписание на 24 часа, вам следует использовать - schedule='every 24 hours' Вы можете найти полный справочник по синтаксису времени здесь

Надеюсь, это поможет

...