Параметры обработки данных Google Cloud для разбора файлов, которые доставляются асинхронно - PullRequest
0 голосов
/ 14 апреля 2020

Я ищу лучшее решение Google Cloud для потоковой передачи и пакетной обработки файлов в чистую базу данных на BigQuery. Я мог бы использовать функции Dataflow или Cloud для достижения этого результата. Тем не менее, я немного борюсь с архитектурой / дизайном и поиском подходящего решения для моих нужд, поскольку оно имеет одну особую сложность.

Проблема в том, что исходные файлы доставляются асинхронно, но я могу только Разбор отдельного файла, если у меня также есть предыдущий файл.

Поэтому, если доставка одного файла запускает механизм синтаксического анализа, мне нужно сначала найти предыдущий файл, прежде чем я смогу на самом деле проанализировать и сохранить результаты на BigQuery. Чтобы проиллюстрировать это:

| t | file delivery | file parsing              | comment                                                           |   |
|---|---------------|---------------------------|-------------------------------------------------------------------|---|
| 1 | date3         | date3+date2 & date4+date3 | date2 and date4 are not there yet, so I cannot parse these combos |   |
| 2 | date2         | date2+date1 & date3+date2 | date1 is not there yet, so I cannot parse this combo              |   |
| 3 | date6         | date6+date5 &             | date5 and date7 are not there yet, so I cannot parse these combos |   |

Другое решение состоит в том, чтобы направлять необработанные файлы в BigQuery, а затем периодически проверять, есть ли у меня отдельные даты, и обрабатывать их в чистой таблице. Однако это означает, что я не могу создать триггер для таблицы BigQuery как ее мультикомплекса.

Какие-либо предложения по архитектуре и / или решениям для этого?

1 Ответ

0 голосов
/ 15 апреля 2020

В вашей архитектуре должно быть что-то вроде: pub / sub, сегменты GCS, облачные функции и поток данных.

Вы можете настроить pub / sub для запуска уведомлений на основе вашего сценария использования предыдущего файла перед обработкой электрический ток. Здесь хорошо документированы уведомления о пабах / подсетях Оповещения о пабах / подпунктах для облачного хранилища .

Очень хороший пост, который вам поможет, это Шаблоны чтения исходного текста в Google Cloud Dataflow

...