Геопакет в Bigquery с использованием Apache Beam - PullRequest
0 голосов
/ 12 сентября 2018

Я относительно новичок в Apache Beam, поэтому, пожалуйста, потерпите меня.

BigQuery недавно анонсировал поддержку геопространственных типов данных. Геопространственные данные доступны во многих вариантах, и BigQuery может обрабатывать данные только в формате Well-Known-Text (WKT) или GeoJSON. GeoJSON предпочтительнее, поскольку BigQuery может интерпретировать данные в географии (геодезические, изогнутые линии на карте, прямые на глобусе) и в геометрии (негеодезические, прямые на карте, изогнутые линии на глобусе)

Моя цель - создать инструмент обработки данных, который хорошо масштабируется и преобразует геопространственные типы данных, такие как Geopackage или Shapefiles, в формат Bigquery GeoJSON или WKT.

Некоторые предположения:

  1. Для эффективной обработки: каждая функция в коллекции FeatureCollection может обрабатываться отдельно. Другими словами, каждый объект в шейп-файле или геопакете можно обрабатывать и загружать в bigquery отдельно. Порядок результата может отличаться от порядка ввода. Severless является предпочтительным.
    1. Геометрия каждого объекта будет переведена в GeoJSON или WKT.
    2. Python

Я исследовал использование Apache Beam и подумал, могу ли я использовать геопространственный тип данных в качестве входного источника. вместо

from apache_beam.io import ReadFromText

есть ли метод в Beam, который может взять геопакет или шейп-файл в качестве источника?

Затем он должен запустить параллельные процессы для каждого объекта, преобразовать геометрию в GeoJSON или WKT и использовать bigquery в качестве приемника.

Если источника для геопакетов не существует, каков был бы подходящий подход для передачи данных геопакета / шейп-файла в диаграмму балок?

...