Шаблоны проектирования для массовой проверки адресов на Google Cloud Platform

Цель

В руководстве по валидации адресов большого объёма мы познакомили вас с различными сценариями использования валидации адресов большого объёма. В этом руководстве мы познакомим вас с различными шаблонами проектирования для реализации валидации адресов большого объёма в Google Cloud Platform.

Начнём с обзора реализации высокообъемной валидации адресов в Google Cloud Platform с использованием Cloud Run, Compute Engine или Google Kubernetes Engine для однократных запусков. Затем мы рассмотрим, как эту возможность можно включить в конвейер данных.

К концу этой статьи вы должны иметь хорошее представление о различных вариантах проведения проверки адресов в больших объемах в среде Google Cloud.

Эталонная архитектура на Google Cloud Platform

В этом разделе более подробно рассматриваются различные шаблоны проектирования для проверки адресов большого объёма с использованием Google Cloud Platform . Использование Google Cloud Platform позволяет интегрировать систему с существующими процессами и конвейерами данных.

Выполнение валидации большого объема адресов один раз на платформе Google Cloud

Ниже представлена ​​эталонная архитектура построения интеграции на платформе Google Cloud Platform, которая больше подходит для разовых операций или тестирования.

изображение

В этом случае мы рекомендуем загрузить CSV-файл в контейнер Cloud Storage . Скрипт High Volume Address Validation можно запустить из среды Cloud Run . Однако вы можете запустить его в любой другой среде выполнения, например, Compute Engine или Google Kubernetes Engine . Выходной CSV-файл также можно загрузить в контейнер Cloud Storage .

Работает как конвейер данных Google Cloud Platform

Шаблон развертывания, представленный в предыдущем разделе, отлично подходит для быстрого тестирования функции проверки адресов большого объёма для однократного использования. Однако, если вам необходимо использовать её регулярно в рамках конвейера данных, вы можете использовать собственные возможности Google Cloud Platform для повышения её надёжности. Вот некоторые из изменений, которые можно внести:

изображение

  • В этом случае вы можете сохранять CSV-файлы в контейнерах Cloud Storage .
  • Задание Dataflow может выбирать адреса для обработки, а затем кэшировать их в BigQuery .
  • Библиотеку Python Dataflow можно расширить, включив в нее логику для проверки адресов большого объема, чтобы проверять адреса из задания Dataflow.

Запуск скрипта из конвейера данных как длительного повторяющегося процесса

Другой распространённый подход — проверка пакета адресов в рамках конвейера потоковых данных в виде повторяющегося процесса. Адреса также могут храниться в хранилище данных BigQuery. В этом подходе мы рассмотрим, как построить повторяющийся конвейер данных (который необходимо запускать ежедневно, еженедельно или ежемесячно).

изображение

  • Загрузите исходный CSV-файл в облачное хранилище .
  • Используйте Memorystore как постоянное хранилище данных для сохранения промежуточного состояния для длительно выполняемого процесса.
  • Кэшируйте конечные адреса в хранилище данных BigQuery .
  • Настройте Cloud Scheduler для периодического запуска скрипта.

Такая архитектура имеет следующие преимущества:

  • С помощью Cloud Scheduler можно периодически проверять адреса. Вы можете ежемесячно перепроверять адреса или проверять новые адреса ежемесячно/ежеквартально. Данная архитектура помогает решить эту проблему.
  • Если данные клиентов хранятся в BigQuery , то проверенные адреса или флаги валидации можно кэшировать непосредственно там. Примечание: Что и как можно кэшировать, подробно описано в статье «Высокообъемная валидация адресов».

  • Использование Memorystore обеспечивает более высокую отказоустойчивость и возможность обработки большего количества адресов. Это добавляет возможность сохранения состояния всему конвейеру обработки, что необходимо для обработки очень больших наборов адресных данных. Другие технологии баз данных, такие как Cloud SQL [https://cloud.google.com/sql] или любая другая разновидность СУБД , предлагаемая Google Cloud Platform, также могут быть использованы в данном случае. Однако мы считаем, что Memorystore Perfectless обеспечивает баланс между масштабируемостью и простотой, поэтому должен быть предпочтительным вариантом.

Заключение

Применяя описанные здесь шаблоны, вы можете использовать API проверки адресов для различных вариантов использования и из различных вариантов использования на Google Cloud Platform.

Мы написали библиотеку Python с открытым исходным кодом, которая поможет вам начать работу с описанными выше вариантами использования. Её можно вызвать из командной строки на вашем компьютере, из Google Cloud Platform или других облачных сервисов.

Подробнее о том, как пользоваться библиотекой, читайте в этой статье .

Следующие шаги

Загрузите технический документ «Улучшение оформления заказа, доставки и операций с использованием надежных адресов» и просмотрите вебинар «Улучшение оформления заказа, доставки и операций с использованием проверки адресов» .

Рекомендуемая дополнительная литература:

Авторы

Эта статья поддерживается Google. Её авторами являются следующие авторы:
Основные авторы:

Хенрик Валв | Инженер по решениям
Томас Англерет | Инженер по решениям
Сартак Гангули | Инженер по решениям