Загрузите современный стек данных за 5 минут с Terraform
Что такое Modern Data Stack и как его развернуть? Это руководство побудит вас начать это путешествие с инструкций по настройке Airbyte, BigQuery, dbt, Metabase и всего остального, что вам нужно, используя Terraform.
By Туан Нгуен, Технический директор и член совета директоров Joon Solutions.
Современная архитектура стека данных (изображение автора).
Что такое современный стек данных
Modern Data Stack (MDS) - это стек технологий, благодаря которому современное хранилище данных работает в 10–10,000 XNUMX раз лучше, чем устаревшее хранилище данных. В конечном итоге MDS экономит время, деньги и усилия. Четыре столпа MDS - это разъем данных, чтобы облачное хранилище данных, чтобы преобразователь данныхИ Бизнес-аналитика и исследование данных инструмент.
Легко интеграции. стало возможным благодаря управляемым инструментам с открытым исходным кодом, которые предварительно создают сотни готовых к использованию соединителей. То, что раньше требовало команды инженеров по обработке данных для регулярного создания и обслуживания, теперь можно заменить инструментом для простых случаев использования. Управляемые решения, такие как стежок и Фифтранвместе с решениями с открытым исходным кодом, такими как Эйрбайт и Мелтано, делаем это возможным.
Использование облачное хранилище столбчатых данных в последнее время стало трендом из-за его высокой производительности и рентабельности. Вместо того, чтобы платить 100 тысяч долларов в год за локальную базу данных MPP (массовая параллельная обработка), вы можете начать платить от 100 долларов (или меньше) в месяц. Говорят, что облачные хранилища данных в 10–10,000 XNUMX раз быстрее, чем традиционные OLTP. Популярные варианты в этой категории: BigQuery, Снежинкаи Redshift.
Раньше обработка данных внутри хранилища данных была узким местом из-за ограничений технологии. В результате компаниям пришлось отдать предпочтение ETL вместо ELT, чтобы снизить нагрузку на хранилище данных. Однако с развитием облачных хранилищ данных многие инструменты преобразования в хранилище данных становятся популярными. Наиболее заметными в этой категории являются dbt (инструмент построения данных) и Dataform.
Инструменты бизнес-аналитики используется для некоторых преобразований, чтобы снизить нагрузку на устаревшие хранилища данных. Однако с появлением современного стека данных фокус инструментов бизнес-аналитики сместился (на мой взгляд) на демократизацию доступа к данным, самообслуживания и обнаружения данных. Некоторые инструменты, которые, на мой взгляд, движутся в правильном направлении, телезритель, Metabaseи Superset.
Наша архитектура
Начать работу с Modern Data Stack может быть непросто, поскольку задействовано множество различных инструментов и процессов. Эта статья призвана помочь вам начать этот путь как можно проще. Есть много подготовительных шагов, но это займет всего лишь пять минут чтобы развернуть все ресурсы, как только вы закончите.
Мы будем использовать Terraform, инструмент с открытым исходным кодом «инфраструктура как код» для предоставления всего в Google Cloud. Если вы следуете приведенным ниже инструкциям, вот ресурсы, которые будут созданы.
- Проект Google Cloud с включенным необходимым API.
- Прием: экземпляр GCE с Airbyte.
- Хранение: наборы данных BigQuery
- Оркестрация (необязательно): экземпляр GCE, на котором запущен Airflow.
- Бизнес-аналитика и обнаружение данных: экземпляр GCE, на котором запущена Metabase
- Учетные записи служб для различных служб и их привязки разрешений IAM
Свяжитесь с нами!
Создайте учетную запись Google Cloud и включите биллинг
Код Terraform в этом проекте будет взаимодействовать с Google Cloud Platform. Поэтому наш первый шаг - создать учетную запись Google и включить биллинг, Обратите внимание идентификатор биллинга со следующим форматом на странице биллинга: ###### - ###### - ######. Это значение понадобится вам на следующем шаге.
Установить Google Cloud CLI
Установите Google Cloud SDK, следуя инструкциям. здесь для вашей ОС. После того, как у вас будет gcloud После установки интерфейса командной строки выполните следующую команду в окне терминала и следуйте инструкциям. Это позволит Terraform использовать учетные данные по умолчанию для аутентификации.
gcloud auth application-default логин
Установить terraform
Следуй инструкциям здесь для локальной установки Terraform CLI. После этого выполните следующую команду, чтобы проверить вашу установку:
терраформировать -v
Вы должны увидеть что-то вроде этого:
Terraform v1.0.0 на darwin_amd64 + provider registry.terraform.io/hashicorp/google v3.71.0
Разверните или клонируйте это репо локально
Вы можете форк этого репо в свою учетную запись или клонируйте его на свой локальный компьютер. Чтобы клонировать репо, запустите следующее:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Создайте terraform.tfvars файл
Создайте terraform.tfvars файл со следующим содержимым:
# Идентификатор биллинга из первого шага billing_id = ###### - ###### - ###### # Идентификатор папки, в которой должен находиться ваш проект. # Оставьте это поле пустым, если вы используете личная учетная запись folder_id = "" # Идентификатор организации, в которой должен находиться ваш проект # Оставьте это поле пустым, если вы используете личную учетную запись org_id = "" # Проект для создания project_id = ""
Предупреждение: Эти значения считаются конфиденциальными. Не фиксируйте этот файл и * .tfstate файлы в публичное репо.
Настройте значения в переменные.tf
Переменные в переменные.tf будет использоваться для конфигураций ресурсов.
Изображение автора.
Вы можете настроить тип машины для различных служб, изменив переменные. Если вы не хотите использовать какой-либо сервис, закомментируйте его в gce.tf .
Вы также можете создавать различные наборы данных для исходных систем, добавляя их в словарь исходных наборов данных.
Создайте современный стек данных
Наконец, чтобы подготовить все эти ресурсы в Google Cloud, выполните следующую команду:
терраформ применять
Изображение автора.
Изучите вывод в терминале, чтобы убедиться, что все настройки ресурсов соответствуют вашим требованиям. Тип Да и нажмите вводить.
Terraform создаст проект Google Cloud с нашим современным стеком данных. Весь процесс займет около 2–3 минут. Для установки служб на экземплярах виртуальных машин требуется еще 2–3 минуты. Весь процесс займет не более 5 минут.
Использование современного стека данных
Получение сервисных аккаунтов для разных сервисов
Изображение автора.
Google рекомендует использовать разные учетные записи для разных служб. Код terraform в проекте уже создал разные учетные записи для разных используемых технологий. Чтобы получить учетную запись службы для конкретной службы, выполните следующую команду:
вывод terraform [имя_службы] _sa_key
Разрешение по умолчанию для всех этих учетных записей: роли / bigquery.admin. Вы можете настроить это в iam.tf .
Полученное вами значение закодировано в base64. Чтобы вернуть это значение в формат JSON, выполните следующую команду:
echo "[значение из предыдущей команды]" | base64 -d
Вы можете использовать учетную запись службы JSON для аутентификации доступа службы к ресурсам вашего проекта.
Предупреждение: Любой, у кого есть эта учетная запись службы, может получить доступ к вашему проекту.
Получение данных с помощью Airbyte
Эйрбайт это отличный инструмент для интеграции данных с открытым исходным кодом. Чтобы получить доступ к пользовательскому интерфейсу Airbyte, сначала получите команду gcloud SSH.
Изображение автора.
Вы получите команду, подобную этой:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Затем добавьте в команду для перенаправления порта пользовательского интерфейса Airbyte локально следующее:
- -L 8000: локальный: 8000 -L 8001: локальный: 8001 -N -f
Ваша последняя команда будет выглядеть так:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" - -L 8000: localhost: 8000 -L 8001: localhost: 8001 - N -f
Примечание: Обязательно удалите символ новой строки после копирования из пользовательского интерфейса GCP.
Если экземпляр Airbyte завершил запуск, вы можете получить к нему доступ, зайдя в свой браузер и посетив локальный: 8000. В противном случае подождите пять минут, пока экземпляр завершит установку.
Изображение автора.
Теперь вы можете интегрировать свои источники, добавить место назначения BigQuery с помощью airbyte_sa_keyи мгновенно разместите свои данные в BigQuery.
Вы можете получить доступ к установке Airbyte по адресу / airbyte / внутри ВМ.
Данные модели с dbt
DBT (инструмент построения данных) - мощный инструмент преобразования данных с открытым исходным кодом с использованием SQL. Это позволяет аналитикам данных выполнять работу, ранее зарезервированную для инженеров данных. Это также помогает создать совершенно новую должность под названием «Инженер-аналитик», гибрид аналитика данных и инженера данных. Подробнее о должности вы можете прочитать в моем блоге здесь.
Изображение автора.
В отличие от Airbyte, Airflow и Metabase, вам не нужен сервер для запуска dbt. Вы можете зарегистрировать бесплатную (навсегда) 1-местную учетную запись, посетив их веб-сайт.
Организуйте рабочий процесс с помощью Airflow
Воздушный поток это проверенный в боях инструмент оркестровки рабочего процесса, созданный Airbnb. Надеюсь, с современным стеком данных вам не придется много использовать Airflow. Однако в некоторых случаях, когда требуется некоторая настройка, Airflow может стать вашим инструментом.
Чтобы получить доступ к пользовательскому интерфейсу, получите команду SSH, аналогичную приведенной выше в разделе с Airbyte. Используйте следующую команду для переадресации портов:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" - -L 8080: localhost: 8080 -N -f
Теперь вы можете получить доступ к установке Airflow по адресу локальный: 8080. Имя пользователя и пароль по умолчанию: Администратор и Администратор.
Изображение автора.
Вы можете получить доступ к установке воздушного потока по адресу /поток воздуха/ внутри ВМ.
Визуализируйте данные с помощью Metabase
Metabase это инструмент для визуализации и обнаружения данных с открытым исходным кодом. Это очень удобно и легко начать работу.
Чтобы получить доступ к пользовательскому интерфейсу Metabase, получите команду SSH, аналогичную приведенной выше в разделе с Airbyte. Затем используйте следующую команду для переадресации портов:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" - -L 3000: localhost: 3000 -N -f
Изображение автора.
Убирать
Чтобы избежать каких-либо нежелательных затрат, обязательно очистите ресурсы, созданные в этом проекте, запустив.
терраформное разрушение
Внимание! Это удалит все сохраненные данные и ресурсы в проекте. Кроме того, вы можете отключить неиспользуемый GCE, чтобы сэкономить.
Оригинал, Перемещено с разрешения.
Bio: Туан Нгуен является техническим директором Joon Solutions, компании, занимающейся данными как сервис. Его профессиональный опыт вращается вокруг создания и управления командами по анализу данных, аналитической инфраструктуры и сценариев использования аналитики. Он любит сочетать свою страсть к аналитике данных и облачным вычислениям, чтобы помочь компаниям оставаться конкурентоспособными в этот день цифровых технологий. У него широкий круг интересов, включая астрономию, чтение, музыку и Интернет вещей.
Связанный:
Источник: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- доступ
- Учетная запись
- дополнительный
- Airbnb
- Все
- аналитик
- аналитика
- апаш
- API
- архитектура
- около
- гайд
- астрономия
- Аутентификация
- автоматический
- beta
- BigQuery
- биллинг
- Блог
- доска
- член правления
- граница
- браузер
- строить
- Строительство
- бизнес
- заботится
- случаев
- облако
- облачных вычислений
- Облачная платформа
- код
- Компании
- Компания
- Вычисление
- вычисление
- содержание
- Расходы
- Создающий
- CTO
- данным
- доступ к данным
- Анализ данных
- Интеграция данных
- наука о данных
- визуализация данных
- информационное хранилище
- хранилища данных
- База данных
- день
- глубокое обучение
- уничтожить
- Интернет
- директор
- открытие
- инженер
- Инженеры
- Впечатления
- First
- Фокус
- следовать
- формат
- Бесплатно
- Золото
- Google Cloud
- Графические процессоры
- инструкция
- здесь
- High
- Как
- HTTPS
- Сотни
- Гибридный
- IAM
- изображение
- В том числе
- Инфраструктура
- интеграции.
- вовлеченный
- КАТО
- IT
- УЧИТЬСЯ
- изучение
- локальным
- в местном масштабе
- обучение с помощью машины
- Создание
- средний
- ML
- деньги
- Музыка
- онлайн
- открытый
- с открытым исходным кодом
- Обзор
- Опции
- Пароль
- производительность
- Платформа
- Популярное
- Проект
- что такое варган?
- ассортимент
- Reading
- уменьшить
- ресурс
- Полезные ресурсы
- Run
- Бег
- Наука
- Ученые
- SDK
- Самообслуживание
- Услуги
- просто
- Решения
- Вращение
- SQL
- Начало
- и политические лидеры
- оставаться
- Истории
- системы
- технологии
- время
- топ
- трансформация
- превращение
- ui
- ценностное
- визуализация
- ждать
- Склады
- Что такое
- Работа
- рабочий
- X
- год