Loading...
No results found.

Apply your skills in Google Cloud console

Google Cloud Big Data and Machine Learning Fundamentals - українська

Get access to 700+ labs and courses

Створення конвеєра потокової обробки даних для інформаційної панелі, що працює в реальному часі, за допомогою сервісу Dataflow

Lab 1 година universal_currency_alt 5 кредитів show_chart Початковий
info This lab may incorporate AI tools to support your learning.
Get access to 700+ labs and courses

Огляд

За умовами цього практичного завдання ви є власником автопарку в Нью-Йорку й хочете відстежувати ефективність свого бізнесу в реальному часі. Ви створите конвеєр потокової обробки даних, щоб збирати інформацію про дохід автопарку, кількість пасажирів, статус поїздок тощо, а потім візуалізувати отримані результати на інформаційній панелі керування.

Цілі

Виконуючи це практичне завдання, ви навчитеся:

  • створювати завдання Dataflow на основі шаблона;
  • передавати дані конвеєра Dataflow у BigQuery;
  • відстежувати конвеєр Dataflow у BigQuery;
  • аналізувати результати за допомогою SQL;
  • візуалізувати ключові показники в Looker Studio.

Налаштування й вимоги

Для кожного практичного заняття ви безкоштовно отримуєте новий проект Google Cloud і набір ресурсів на визначений період часу.

  1. Натисніть кнопку Почати заняття. Якщо за практичне заняття необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати. Ліворуч розміщено панель Відомості про практичне заняття з такими компонентами:

    • кнопка Відкрити консоль Google;
    • час до закінчення;
    • тимчасові облікові дані, які потрібно використовувати для доступу до цього практичного заняття;
    • інша інформація, необхідна для виконання цього практичного заняття.
  2. Натисніть Відкрити консоль Google або натисніть правою кнопкою миші й виберіть Відкрити анонімне вікно, якщо ви використовуєте вебпереглядач Chrome.

    Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Вхід.

    Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.

    Примітка. Якщо з’явиться вікно Виберіть обліковий запис, натисніть Вибрати інший обліковий запис.
  3. За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Вхід.

    {{{user_0.username | "Username"}}}

    Поле Username (Ім’я користувача) також можна знайти на панелі Відомості про практичне заняття.

  4. Натисніть Next (Далі).

  5. Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).

    {{{user_0.password | "Password"}}}

    Поле Password (Пароль) також можна знайти на панелі Відомості про практичне заняття.

  6. Натисніть Next (Далі).

    Важливо. Обов’язково використовуйте облікові дані, призначені для відповідного практичного заняття. Не використовуйте облікові дані Google Cloud. Примітка. Якщо ввійти у власний обліковий запис Google Cloud, може стягуватися додаткова плата.
  7. Що від вас очікується

    • Прийміть Умови використання.
    • Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
    • Не реєструйте безкоштовні пробні версії.

Через кілька секунд Google Cloud Console відкриється в новій вкладці.

Примітка. Щоб переглянути меню зі списком продуктів і сервісів Google Cloud, натисніть меню навігації вгорі ліворуч або введіть назву сервісу чи продукту в полі пошуку.

Активація Google Cloud Shell

Google Cloud Shell – це віртуальна машина з попередньо завантаженими інструментами для розробників. Вона містить головний каталог обсягом 5 ГБ постійної пам’яті й працює в середовищі Google Cloud.

Google Cloud Shell надає доступ до ресурсів Google Cloud через командний рядок.

  1. У консолі Cloud Console на панелі інструментів угорі праворуч натисніть кнопку Open Cloud Shell (Відкрити Cloud Shell).

  2. Натисніть Continue (Продовжити).

Налаштування та підключення до середовища триватиме кілька секунд. Щойно ви підключитеся, вас буде автентифіковано, а проект отримає ваш PROJECT_ID (ІДЕНТИФІКАТОР ПРОЕКТУ). Наприклад:

gcloud – це інструмент командного рядка для Google Cloud. Він входить у пакет Cloud Shell і підтримує функцію автозавершення клавішею TAB.

  • Щоб вивести поточне ім’я облікового запису, введіть таку команду:
gcloud auth list

Вихідні дані:

Credentialed accounts: - @.com (active)

Приклад вихідних даних:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Щоб вивести ідентифікатор проекту, введіть таку команду:
gcloud config list project

Вихідні дані:

[core] project =

Приклад вихідних даних:

[core] project = qwiklabs-gcp-44776a13dea667a6 Примітка. Повну документацію щодо gcloud наведено в посібнику з інтерфейсу командного рядка gcloud .

Завдання 1. Створіть набір даних BigQuery

У цьому завданні ви створюєте набір даних taxirides. Це можна зробити за допомогою Google Cloud Shell або Google Cloud Console.

На цьому практичному занятті ви використовуватимете відкритий набір даних від Комісії водіїв таксі й лімузинів Нью-Йорка (NYC Taxi & Limousine Commission). Щоб імітувати періодичне оновлення інформації про водіїв таксі, застосовуватиметься невеликий файл даних зі значеннями, розділеними комами.

BigQuery – це безсерверне сховище даних. Таблиці в BigQuery впорядковуються за наборами даних. На цьому практичному занятті дані про водіїв таксі надходитимуть з окремого файлу через Dataflow і зберігатимуться в BigQuery. Завдяки цій конфігурації всі нові файли даних, які розміщуються у вихідний сегмент Cloud Storage, автоматично опрацьовуватимуться для завантаження.

Щоб створити набір даних BigQuery, виберіть один із наведених нижче способів.

Спосіб 1. Інструмент командного рядка

  1. У Cloud Shell () виконайте наведену нижче команду, щоб створити набір даних taxirides.
bq --location={{{project_0.default_region|Region}}} mk taxirides
  1. Виконайте цю команду, щоб створити таблицю taxirides.realtime (порожню схему, у яку ви пізніше передаватимете дані):
bq --location={{{project_0.default_region|Region}}} mk \ --time_partitioning_field timestamp \ --schema ride_id:string,point_idx:integer,latitude:float,longitude:float,\ timestamp:timestamp,meter_reading:float,meter_increment:float,ride_status:string,\ passenger_count:integer -t taxirides.realtime

Спосіб 2. Інтерфейс консолі BigQuery

Примітка. Якщо ви створили таблиці за допомогою командного рядка, пропустіть ці кроки.
  1. У меню навігації () Google Cloud Console натисніть BigQuery.

  2. Якщо з’явиться вікно привітання, натисніть Done (Готово).

  3. Натисніть View actions (Переглянути дії) () біля ідентифікатора проекту, а потім – Create dataset (Створити набір даних).

  4. У полі Dataset ID (Ідентифікатор набору даних) введіть taxirides.

  5. У полі Data location (Місцезнаходження даних) виберіть:

{{{project_0.default_region|Region}}}

Потім натисніть Create Dataset (Створити набір даних).

  1. На панелі Explorer (Провідник) натисніть Expand node (Розгорнути вузол) (), щоб відобразити новий набір даних taxirides.

  2. Натисніть View actions (Переглянути дії) () біля набору даних taxirides і виберіть Open (Відкрити).

  3. Натисніть Create Table (Створити таблицю).

  4. У полі Table (Таблиця) введіть realtime.

  5. У розділі схеми натисніть Edit as text (Редагувати як текст) і вставте наведений нижче код.

ride_id:string, point_idx:integer, latitude:float, longitude:float, timestamp:timestamp, meter_reading:float, meter_increment:float, ride_status:string, passenger_count:integer
  1. У розділі Partition and cluster settings (Розділення й кластеризація) виберіть timestamp.

  2. Натисніть Create Table (Створити таблицю).

Завдання 2. Скопіюйте обов’язкові артефакти практичного завдання

У цьому завданні ви маєте перенести обов’язкові файли у свій проект.

З Cloud Storage можна зберігати будь-які обсяги даних і завантажувати їх коли завгодно в будь-якому куточку світу. Cloud Storage може мати різне призначення, зокрема обслуговування контенту вебсайтів, зберігання даних для архівування й аварійного відновлення, а також надання кінцевим користувачам великих об’єктів даних через функцію прямого завантаження.

Сегмент Cloud Storage було створено для вас на етапі запуску практичного завдання.

  1. У Cloud Shell () виконайте наведені нижче команди, щоб перенести файли, необхідні для завдання Dataflow.
gcloud storage cp gs://cloud-training/bdml/taxisrcdata/schema.json gs://{{{project_0.project_id|Project_ID}}}-bucket/tmp/schema.json gcloud storage cp gs://cloud-training/bdml/taxisrcdata/transform.js gs://{{{project_0.project_id|Project_ID}}}-bucket/tmp/transform.js gcloud storage cp gs://cloud-training/bdml/taxisrcdata/rt_taxidata.csv gs://{{{project_0.project_id|Project_ID}}}-bucket/tmp/rt_taxidata.csv

Завдання 3. Налаштуйте конвеєр Dataflow

У цьому завданні вам потрібно налаштувати конвеєр потокової обробки даних, щоб зчитувати дані файлів із сегмента Cloud Storage і записувати дані в BigQuery.

Dataflow – це безсерверний інструмент аналізу даних.

Перезапустіть підключення до Dataflow API

  1. У Cloud Shell виконайте наведені нижче команди, щоб переконатися, що Dataflow API увімкнено у вашому проекті.
gcloud services disable dataflow.googleapis.com gcloud services enable dataflow.googleapis.com

Створіть конвеєр потокового передавання даних

  1. У меню навігації () Cloud Console натисніть View all Products (Переглянути всі продукти) > Analytics (Аналітика) > Dataflow.

  2. На верхній панелі меню натисніть Create Job From Template (Створити завдання на основі шаблону).

  3. У полі Job name (Назва завдання) завдання Dataflow введіть streaming-taxi-pipeline.

  4. У полі Regional endpoint (Регіональна кінцева точка) виберіть:

{{{project_0.default_region|Region}}}
  1. У меню Dataflow template (Шаблон Dataflow) виберіть шаблон Cloud Storage Text to BigQuery (Stream) у розділі Process Data Continuously (stream) (Безперервна обробка даних (потік)).
Примітка. Виберіть варіант шаблону, який відповідає наведеним нижче параметрам.
  1. У полі Cloud Storage Input File(s) (Вхідні файли Cloud Storage) вставте або введіть:
{{{project_0.project_id|Project_ID}}}-bucket/tmp/rt_taxidata.csv
  1. У полі Cloud Storage location of your BigQuery schema file, described as a JSON (Розташування файлу схеми BigQuery в Cloud Storage, зазначене у файлі JSON) вставте або введіть:
{{{project_0.project_id|Project_ID}}}-bucket/tmp/schema.json
  1. У полі BigQuery Output table (Вихідна таблиця BigQuery) вставте або введіть:
{{{project_0.project_id|Project_ID}}}:taxirides.realtime
  1. У полі Temporary directory for BigQuery loading process (Тимчасовий каталог для даних, які завантажуються в BigQuery) вставте або введіть:
{{{project_0.project_id|Project_ID}}}-bucket/tmp
  1. Натисніть Required Parameters (Необхідні параметри).

  2. У полі Temporary location (Тимчасове розташування) для записування тимчасових файлів вставте або введіть:

{{{project_0.project_id|Project_ID}}}-bucket/tmp
  1. У полі JavaScript UDF path in Cloud Storage (Шлях JavaScript UDF у Cloud Storage) вставте або введіть:
{{{project_0.project_id|Project_ID}}}-bucket/tmp/transform.js
  1. У полі JavaScript UDF name (Назва UDF JavaScript) вставте або введіть:
transform
  1. У полі Max workers (Макс. кількість робочих вузлів) введіть 2.

  2. У полі Number of workers (Кількість робочих вузлів) введіть 1.

  3. Зніміть прапорець Use default machine type (Використовувати тип машини за умовчанням).

  4. У розділі General purpose (Загальна ціль) виберіть наведені нижче налаштування.

Серія: E2
Тип машини: e2-medium (з 2 віртуальними центральними процесорами й 4 ГБ пам’яті)

  1. Натисніть Run Job (Виконати завдання).

Потокове передавання почалося. Тепер можна переглянути візуальне представлення конвеєра даних. До початку передачі даних у BigQuery може минути від 3 до 5 хвилин.

Примітка. Якщо сталася помилка й завдання Dataflow не виконується, створіть новий шаблон з іншою назвою і повторіть спробу.

Завдання 4. Проаналізуйте дані про таксі за допомогою BigQuery

У цьому завданні ви аналізуєте дані в процесі потокового передавання.

  1. У меню навігації () Cloud Console натисніть BigQuery.

  2. Якщо з’явиться вікно привітання, натисніть Done (Готово).

  3. У редакторі запитів введіть наведену нижче команду й натисніть Run (Виконати).

SELECT * FROM taxirides.realtime LIMIT 10 Примітка. Якщо записи не з’являться, трохи зачекайте й повторно виконайте наведений вище запит (Dataflow налаштовує передавання від 3 до 5 хвилин).

Ваш результат має виглядати приблизно так:

Завдання 5. Виконайте агрегацію потоку даних для звітів

У цьому завданні ви обчислюєте зведені дані потоку для звітів.

  1. У редакторі запитів очистьте поточний запит.

  2. Скопіюйте й вставте наведений нижче запит і натисніть Run (Виконати).

WITH streaming_data AS ( SELECT timestamp, TIMESTAMP_TRUNC(timestamp, HOUR, 'UTC') AS hour, TIMESTAMP_TRUNC(timestamp, MINUTE, 'UTC') AS minute, TIMESTAMP_TRUNC(timestamp, SECOND, 'UTC') AS second, ride_id, latitude, longitude, meter_reading, ride_status, passenger_count FROM taxirides.realtime ORDER BY timestamp DESC LIMIT 1000 ) # calculate aggregations on stream for reporting: SELECT ROW_NUMBER() OVER() AS dashboard_sort, minute, COUNT(DISTINCT ride_id) AS total_rides, SUM(meter_reading) AS total_revenue, SUM(passenger_count) AS total_passengers FROM streaming_data GROUP BY minute, timestamp Примітка. Перш ніж перейти до наступного завдання, переконайтеся, що Dataflow реєструє дані в BigQuery.

У результаті ви отримаєте основні показники щодо висадки з таксі у хвилинах.

  1. Натисніть Save (Зберегти) > Save query (Зберегти запит).

  2. У полі Name (Назва) вікна Save query (Зберегти запит) введіть My Saved Query (Мій збережений запит).

  3. Переконайтеся, що регіон у полі Region (Регіон) відповідає регіону Qwiklabs Lab.

  4. Натисніть Зберегти.

Завдання 6. Зупиніть завдання Dataflow

На цьому етапі вам потрібно зупинити завдання Dataflow, щоб вивільнити ресурси для свого проекту.

  1. У меню навігації () Cloud Console натисніть View all Products (Переглянути всі продукти) > Analytics (Аналітика) > Dataflow.

  2. Натисніть streaming-taxi-pipeline або назву нового завдання.

  3. Натисніть Stop (Зупинити) і виберіть Cancel (Скасувати) > Stop Job (Зупинити завдання).

Завдання 7. Створіть інформаційну панель, що працює в реальному часі

У цьому завданні ви створюєте інформаційну панель, яка працює в реальному часі, щоб візуалізувати дані.

  1. У меню навігації () Cloud Console натисніть BigQuery.

  2. На панелі Explorer (Провідник) розгорніть меню з ідентифікатором проекту.

  3. Розгорніть меню Queries (Запити) і натисніть My Saved Query (Мій збережений запит).

Запит завантажиться в редакторі.

  1. Натисніть Run (Виконати).

  2. У розділі Query Results (Результати запиту) натисніть Open in (Відкрити в) > Looker Studio.

    Відкриється Looker Studio. Натисніть Get started (Почати).

  3. У вікні Looker Studio натисніть гістограму.

()

З’явиться панель діаграми.

  1. Натисніть Add a chart (Додати діаграму) і виберіть Combo chart (Комбінована діаграма).

  2. На панелі Setup (Налаштування) у розділі Data Range Dimension (Параметр діапазону дат) наведіть курсор на опцію minute (Date) і натисніть X, щоб вилучити її.

  3. На панелі Data (Дані) натисніть параметр dashboard_sort і перетягніть його: Setup (Налаштування) > Data Range Dimension (Параметр діапазону дат) > Add dimension (Додати параметр).

  4. У розділі Setup (Налаштування) > Dimension (Параметр) натисніть minute і виберіть dashboard_sort.

  5. У розділі Setup (Налаштування) > Metric (Показник) натисніть dashboard_sort і виберіть total_rides.

  6. У розділі Setup (Налаштування) > Metric (Показник) натисніть Record Count (Підрахунок записів) і виберіть total_passengers.

  7. У розділі Setup (Налаштування) > Metric (Показник) натисніть Add metric (Додати показник) і виберіть total_revenue.

  8. У розділі Setup (Налаштування) > Sort (Сортування) натисніть total_rides і виберіть dashboard_sort.

  9. У розділі Setup (Налаштування) > Sort (Сортування) натисніть Ascending (У порядку зростання).

Ваша діаграма має виглядати приблизно так:

Примітка. Наразі в Looker Studio не можна налаштувати візуалізацію даних із похвилинною деталізацією за допомогою позначки часу. Саме тому ми створили власний параметр dashboard_sort.
  1. Завершивши налаштування інформаційної панелі, натисніть Save and share (Зберегти й поділитися), щоб зберегти це джерело даних.

  2. Якщо з’явиться запит завершити створення облікового запису, введіть відомості про вашу країну й компанію, прийміть Умови використання й натисніть Continue (Продовжити).

  3. Якщо з’явиться запит щодо типу оновлень, які ви б хотіли отримувати, укажіть no (ні) для всіх пропозицій, а потім натисніть Continue (Продовжити).

  4. Якщо з’явиться вікно Review data access before saving (Перевірка інформації про доступ до даних перед збереженням), натисніть Acknowledge and save (Підтвердити й зберегти).

  5. Якщо з’явиться запит вибрати обліковий запис, виберіть свій обліковий запис студента.

  6. Інформаційна панель завжди міститиме дані про останні транзакції. Щоб перевірити, натисніть More options (Інші опції) (), а потім – Refresh data (Оновити дані).

Завдання 8. Створіть інформаційну панель часових рядів

У цьому завданні ви створюєте часову діаграму.

  1. Натисніть це посилання Looker Studio, щоб відкрити Looker Studio в новій вкладці вебпереглядача.

  2. У розділі Start with a Template (Використати шаблон) на сторінці Reports (Звіти) натисніть шаблон [+] Blank Report (Пустий звіт).

  3. Відкриється новий пустий звіт із вікном Add data to report (Додайте дані у звіт).

  4. У списку Google Connectors (Конектори Google) виберіть BigQuery.

  5. Натисніть Custom Query (Спеціальний запит) і виберіть ідентифікатор свого проекту. Запит відображатиметься в такому форматі: qwiklabs-gcp-xxxxxxx.

  6. У полі Enter Custom Query (Введіть власний запит) вставте наведену нижче команду.

SELECT * FROM taxirides.realtime WHERE ride_status='enroute'
  1. Натисніть Add (Додати) > Add To Report (Додати у звіт).

    З’явиться новий звіт без назви. Зміни відобразяться на екрані протягом хвилини.

Як створити часову діаграму

  1. На панелі Data (Дані) натисніть Add a Field (Додати поле) > Add calculated field (Додати обчислюване поле).

  2. У лівому куті натисніть All Fields (Усі поля).

  3. Змініть тип поля timestamp (позначка часу) на такий: Date & Time (Дата й час) > Date Hour Minute (YYYYMMDDhhmm) (Дата, години й хвилини).

  4. У вікні, що з’явиться, натисніть Continue (Продовжити), а потім – Done (Готово).

  5. У меню вгорі натисніть Add a chart (Додати діаграму).

  6. Виберіть Time series chart (Часова діаграма).

  7. Розмістіть діаграму в нижньому лівому куті на порожньому місці.

  8. У розділі Setup (Налаштування) > Dimension (Параметр) натисніть timestamp (Date) і виберіть timestamp.

  9. У розділі Setup (Налаштування) > Dimension (Параметр) натисніть timestamp і виберіть calendar.

  10. У полі Data Type (Тип даних) виберіть Date & Time (Дата й час) > Date Hour Minute (Дата, години й хвилини).

  11. Закрийте вікно, натиснувши за його межами. Назву вказувати не потрібно.

  12. У розділі Setup (Налаштування) > Metric (Показник) натисніть Record Count (Підрахунок записів) і виберіть meter_reading.

Вітаємо!

Під час цього практичного завдання ви використовували Dataflow, щоб передати дані через конвеєр у BigQuery.

Завершіть завдання

Закінчивши виконувати завдання, натисніть кнопку End Lab (Завершити завдання). Google Cloud Skills Boost вилучить використані ресурси й очистить обліковий запис.

Ви зможете оцінити, наскільки вам сподобалося виконувати завдання на платформі. Виберіть потрібну кількість зірочок, введіть коментар і натисніть Submit (Надіслати).

Кількість зірочок відповідає певній оцінці:

  • 1 зірочка = зовсім не сподобалося
  • 2 зірочки = не сподобалося
  • 3 зірочки = не можу сказати напевно
  • 4 зірочки = сподобалося
  • 5 зірочок = дуже сподобалося

Якщо ви не хочете надсилати відгук, просто закрийте діалогове вікно.

Залишайте свої відгуки, пропозиції або коментарі на вкладці Support (Підтримка).

© Google LLC 2024. Усі права захищено. Назва й логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.

Назад Далі

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.
Попередній перегляд