Завантажте сучасний стек даних за 5 хвилин за допомогою Terraform
Що таке сучасний стек даних і як його розгорнути? Цей посібник спонукатиме вас почати цю подорож з інструкціями з налаштування для Airbyte, BigQuery, dbt, Metabase та всього іншого, що вам потрібно за допомогою Terraform.
By Туан Нгуєн, технічний директор і член правління Joon Solutions.
Сучасна архітектура стеку даних (зображення автора).
Що таке сучасний стек даних
Сучасний стек даних (MDS) — це набір технологій, завдяки яким сучасне сховище даних працює в 10–10,000 XNUMX разів краще, ніж застаріле сховище даних. Зрештою, MDS економить час, гроші та зусилля. Чотири стовпи MDS — це a з'єднувач даних, то хмарне сховище даних, то перетворювач даних, А в BI та дослідження даних інструмент.
Easy інтеграція це стало можливим завдяки керованим інструментам із відкритим вихідним кодом, які попередньо створюють сотні готових до використання конекторів. Те, що раніше потребувало команди інженерів даних для створення та регулярного обслуговування, тепер можна замінити інструментом для простих випадків використання. Керовані рішення, як стібок та П'ятьтран, разом із рішеннями з відкритим кодом, як-от Airbyte та Мельтано, роблять це можливим.
Використання хмарне стовпчасте сховище даних останнім часом є трендом завдяки своїй високій продуктивності та економічній ефективності. Замість того, щоб платити 100 тисяч доларів на рік за локальну базу даних MPP (масова паралельна обробка), ви можете почати платити від 100 доларів (або менше) на місяць. Кажуть, що хмарні сховища даних працюють у 10–10,000 XNUMX разів швидше, ніж традиційні OLTP. Популярними варіантами в цій категорії є BigQuery, Сніжинка та Червоне зміщення.
У минулі часи обробка даних у сховищі даних була вузьким місцем через обмеження технології. У результаті компаніям довелося віддати перевагу ETL замість ELT, щоб зменшити навантаження на сховище даних. Проте з розвитком хмарних сховищ даних багато інструменти внутрішнього сховища даних стають популярними. Найбільш помітними в цій категорії є dbt (інструмент створення даних) і Dataform.
Інструменти BI використовувався також для виконання деяких перетворень, щоб зменшити навантаження на застарілі сховища даних. Однак із сучасним стеком даних фокус інструментів BI був зміщений (на мій погляд) на демократизацію доступу до даних, самообслуговування та виявлення даних. Деякі інструменти, на мою думку, рухаються в правильному напрямку Красуня, Метабаза та Superset.
Наша архітектура
Початок роботи з Modern Data Stack може бути важким, оскільки задіяно багато різних інструментів і процесів. Ця стаття має на меті допомогти вам розпочати цю подорож якомога легше. Підготовчих етапів багато, але потрібно всього лише п'ять хвилин щоб розкрутити всі ресурси, коли ви закінчите.
Ми будемо використовувати Terraform, інструмент із відкритим вихідним кодом інфраструктури як коду для надання всього в Google Cloud. Якщо ви виконаєте наведені нижче інструкції, ось які ресурси будуть створені.
- Проект Google Cloud із увімкненим необхідним API
- Передача: екземпляр GCE, на якому запущено Airbyte
- Складування: набори даних BigQuery
- Оркестровка (необов’язково): екземпляр GCE із запуском Airflow
- BI та виявлення даних: екземпляр GCE під керуванням Metabase
- Облікові записи служб для різних служб і їхні прив’язки дозволів IAM
Розпочати
Створіть обліковий запис Google Cloud і ввімкніть оплату
Код Terraform у цьому проекті взаємодіятиме з Google Cloud Platform. Тому нашим першим кроком є створення облікового запису Google і увімкнути білінг. Зверніть увагу на платіжний ідентифікатор у такому форматі на сторінці платежів: ######-######-######. Це значення знадобиться вам на наступному кроці.
Установіть Google Cloud CLI
Установіть Google Cloud SDK, дотримуючись інструкцій тут для вашої відповідної ОС. Після того, як ви отримаєте gcloud CLI встановлено, виконайте наступну команду у вікні терміналу та дотримуйтесь інструкцій. Це дозволить Terraform використовувати облікові дані за замовчуванням для автентифікації.
gcloud auth application-login за замовчуванням
Встановити тераформу
Дотримуйтесь інструкцій тут щоб інсталювати Terraform CLI локально. Потім виконайте таку команду, щоб перевірити встановлення:
тераформа -в
Ви повинні побачити щось на зразок цього:
Terraform v1.0.0 на darwin_amd64 + постачальник registry.terraform.io/hashicorp/google v3.71.0
Відгалужте або клонуйте це репо локально
Ти можеш форкувати це репо до свого облікового запису або клонуйте його на локальну машину. Щоб клонувати репо, виконайте наступне:
git клон https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Створити terraform.tfvars файл
Створити terraform.tfvars файл із таким вмістом:
# Ідентифікатор платежу з першого кроку billing_id = ######-######-###### # Ідентифікатор папки, у якій ви хочете розмістити ваш проект # Залиште це поле порожнім, якщо ви використовуєте a personal account folder_id = "" # Ідентифікатор організації, де ви хочете розташувати свій проект # Залиште це поле порожнім, якщо ви використовуєте особистий обліковий запис org_id = "" # Проект для створення project_id = ""
попередження: ці значення вважаються чутливими. Не фіксуйте цей файл і файл *.tfstate файлів у загальнодоступне сховище.
Налаштуйте значення в змінні.tf
Змінні в змінні.tf буде використано для конфігурації ресурсів.
Зображення автора.
Ви можете налаштувати тип машини для різних служб, змінивши змінні. Якщо ви не хочете користуватися жодною послугою, прокоментуйте це в gce.tf файлу.
Ви також можете створювати різні набори даних для своїх вихідних систем, додаючи їх до словника вихідних наборів даних.
Створіть сучасний стек даних
Нарешті, щоб забезпечити всі ці ресурси в Google Cloud, виконайте таку команду:
Терраформи застосовуються
Зображення автора.
Вивчіть вихідні дані в терміналі, щоб переконатися, що всі налаштування ресурсів відповідають вашим бажанням. Тип так і вдарив вводити.
Terraform створить проект Google Cloud із нашим сучасним стеком даних. Весь процес займе близько 2-3 хвилин. Установлення служб на екземплярах віртуальної машини займає додаткові 2–3 хвилини. Весь процес займе лише 5 хвилин або менше.
Використання сучасного стеку даних
Отримання облікових записів служб для різних служб
Зображення автора.
Google рекомендує використовувати інший сервісний обліковий запис для різних сервісів. Код terraform у проекті створив різні облікові записи для різних технологій, які вже використовуються. Щоб отримати обліковий запис служби для певної служби, виконайте таку команду:
terraform висновок [service_name]_sa_key
Стандартним дозволом для всіх цих облікових записів є roles/bigquery.admin. Ви можете налаштувати це в iam.tf файлу.
Значення, яке ви отримали, має кодування base64. Щоб повернути це значення у формат JSON, виконайте таку команду:
echo "[значення з попередньої команди]" | база64 -d
Ви можете використовувати обліковий запис служби JSON для автентифікації доступу служби до ресурсів вашого проекту.
попередження: Будь-хто з цим обліковим записом служби може отримати доступ до вашого проекту.
Передача даних за допомогою Airbyte
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 завершив запуск, ви можете отримати доступ до нього, перейшовши у свій браузер і відвідавши localhost: 8000. Якщо ні, зачекайте п’ять хвилин, поки інсталяція завершиться.
Зображення автора.
Тепер ви можете інтегрувати свої джерела, додати призначення BigQuery за допомогою airbyte_sa_keyі матимете свої дані в BigQuery миттєво.
Ви можете отримати доступ до встановлення Airbyte за адресою /airbyte/ всередині VM.
Модель даних з dbt
борг (інструмент побудови даних) — це потужний інструмент перетворення даних із відкритим кодом за допомогою SQL. Це дозволяє аналітикам даних виконувати роботу, яка раніше була зарезервована за інженерами даних. Це також допомагає створити абсолютно нову посаду під назвою Analytics Engineer, гібрид Data Analyst та Data Engineer. Детальніше про посаду ви можете прочитати в моєму блозі тут.
Зображення автора.
На відміну від 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 за адресою localhost: 8080. Ім’я користувача та пароль за умовчанням: адмін та адмін.
Зображення автора.
Ви можете отримати доступ до установки повітряного потоку за адресою /повітряний потік/ всередині VM.
Візуалізуйте дані за допомогою 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, щоб також заощадити кошти.
Оригінал. Повідомлено з дозволу.
Біо: Туан Нгуєн є технічним директором компанії Joon Solutions, яка надає дані як послугу. Його професійний досвід пов’язаний зі створенням та керуванням командами з обробки даних, аналітичною інфраструктурою та сценаріями використання аналітики. Він любить поєднувати свою пристрасть до аналізу даних і хмарних обчислень, щоб допомогти підприємствам залишатися конкурентоспроможними в наш цифровий день. Він має широкий спектр інтересів, включаючи астрономію, читання, музику та Інтернет речей.
За темою:
Джерело: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- доступ
- рахунки
- Додатковий
- Airbnb
- ВСІ
- аналітик
- аналітика
- Apache
- API
- архітектура
- навколо
- стаття
- астрономія
- Authentication
- автоматичний
- бета
- великий запит
- біллінг
- Блог
- рада
- член правління
- border
- браузер
- будувати
- Створюємо
- підприємства
- який
- випадків
- хмара
- хмарних обчислень
- Хмарна платформа
- код
- Компанії
- компанія
- обчислення
- обчислення
- зміст
- витрати
- створення
- CTO
- дані
- доступ до даних
- Analytics даних
- інтеграція даних
- наука про дані
- візуалізація даних
- сховище даних
- сховища даних
- Database
- день
- глибоке навчання
- знищити
- цифровий
- Директор
- відкриття
- інженер
- Інженери
- Досліди
- Перший
- Сфокусувати
- стежити
- формат
- Безкоштовна
- золото
- Google Cloud
- Графічні процесори
- керівництво
- тут
- Високий
- Як
- HTTPS
- Сотні
- гібрид
- IAM
- зображення
- У тому числі
- Інфраструктура
- інтеграція
- залучений
- КАТО
- IT
- УЧИТЬСЯ
- вивчення
- місцевий
- локально
- навчання за допомогою машини
- Робить
- середа
- ML
- гроші
- музика
- онлайн
- відкрити
- з відкритим вихідним кодом
- Думка
- Опції
- Пароль
- продуктивність
- платформа
- популярний
- проект
- громадськість
- діапазон
- читання
- зменшити
- ресурс
- ресурси
- прогін
- біг
- наука
- Вчені
- Sdk
- Самообслуговування
- Послуги
- простий
- Рішення
- Спін
- SQL
- старт
- почалася
- залишатися
- історії
- Systems
- Технології
- час
- топ
- Перетворення
- перетворення
- ui
- значення
- візуалізації
- чекати
- Склад
- Що таке
- Work
- робочий
- X
- рік