Шаблоны проектирования для проверки большого количества адресов

Цель

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

Сначала мы расскажем, как запустить массовую Address Validation в Google Cloud Platform с помощью Cloud Run, Compute Engine или Google Kubernetes Engine для однократного выполнения. Затем мы посмотрим, как эту возможность можно включить в конвейер данных.

Прочитав эту статью, вы будете хорошо понимать, какие есть варианты массового выполнения Address Validation в среде Google Cloud.

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

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

Однократный запуск High Volume Address Validation на Google Cloud Platform

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

Изображение

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

Выполняется как конвейер данных Google Cloud Platform

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

Изображение

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

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

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

Изображение

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

У этой архитектуры есть следующие преимущества:

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

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

Заключение

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

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

Подробнее о том, как использовать библиотеку…

Дальнейшие действия

Скачайте технический документ Improve checkout, delivery, and operations with reliable addresses (Как улучшить оформление заказов, доставку и работу с помощью надежных адресов) и посмотрите вебинар Improving checkout, delivery, and operations with Address Validation (Как улучшить оформление заказов, доставку и работу с помощью Address Validation) .

Дополнительные сведения

Авторы

Google поддерживает эту статью. The following contributors originally wrote it.
Основные авторы:

Хенрик Вальве (Henrik Valve) | разработчик решений
Тома Англаре (Thomas Anglaret) | разработчик решений
Сартак Гангули (Sarthak Ganguly) | разработчик решений