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

Цель

Учебник High Volume Address Validation провел вас по различным сценариям, в которых может использоваться проверка адресов большого объема. В этом руководстве мы познакомим вас с различными шаблонами проектирования в Google Cloud Platform для запуска проверки адресов большого объема.

Мы начнем с обзора запуска High Volume Address Validation в 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, которая больше подходит для разовых операций или тестирования.

изображение

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

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

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

изображение

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

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

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

изображение

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

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

  • Используя Cloud Scheduler , можно периодически выполнять проверку адресов. Возможно, вам захочется ежемесячно перепроверять адреса или проверять новые адреса ежемесячно/ежеквартально. Эта архитектура помогает решить эту проблему.
  • Если данные о клиентах находятся в BigQuery , то проверенные адреса или флаги проверки могут быть кэшированы непосредственно там. Примечание: Что и как можно кэшировать, подробно описано в статье High Volume Address Validation

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

Заключение

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

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

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

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

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

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

Участники

Google поддерживает эту статью. Ее первоначально написали следующие участники.
Основные авторы:

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