Мне дан URL-адрес облака Google.Я должен:
Использовать URL-адрес для получения списка больших двоичных объектов в этом сегменте
Для каждого большого двоичного объекта я выполняю несколько вызовов GCS API дляполучить информацию о BLOB-объекте (blob.size, blob.name и т. д.)
Для каждого блоба я также должен прочитать его, найти что-то внутри него и добавить к полученным значениямиз вызовов GCS API
Для каждого большого двоичного объекта я должен записать значения, найденные на шаге 2 и 3 для большого двоичного объекта, в BigQuery
Iу меня есть тысячи BLOB-объектов, так что это нужно сделать с помощью Apache Beam (я рекомендовал)
Моя идея конвейера выглядит примерно так:
GetUrlOfBucket и сделать PCollection
Используя эту коллекцию PCollection, получите список больших двоичных объектов в качестве новой коллекции PCollection.
Создайте коллекцию PCollection с метаданными этих больших объектов.
Выполните преобразование, которое примет PCollection, являющийся словарем метаданных.значения, входит в BLOB-объект, сканирует значение и возвращаетНовая PCollection, которая представляет собой словарь значений метаданных и этого нового значения
Запишите это в BigQuery.
Мне особенно трудно думать о том, как вернуть словарь в виде PCollection
[+] То, что я прочитал:
https://beam.apache.org/documentation/programming-guide/#composite-transforms
https://medium.com/@rajeshhegde/data-pipeline-using-apache-beam-python-sdk-on-dataflow-6bb8550bf366
Любые предложения, особенно о том, как взять в этом имени ивозвращаю PC коллекцию капель, с благодарностью.