Шаблоны проектирования для массовой проверки адресов на 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. Её авторами являются следующие авторы:
Основные авторы:

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