Лабораторная работа по навигации по пользовательскому интерфейсу BigQuery и исследованию данных

1. Введение

BigQuery — это бессерверное, масштабируемое и экономичное хранилище данных. Просто переместите свои данные в BigQuery и позвольте нам взять на себя всю тяжелую работу, чтобы вы могли сосредоточиться на том, что действительно важно, на ведении вашего бизнеса. Вы можете контролировать доступ как к проекту, так и к вашим данным в зависимости от потребностей вашего бизнеса, например предоставляя другим возможность просматривать или запрашивать ваши данные.

В этой лабораторной работе вы познакомитесь с аналитическими возможностями BigQuery. Вы узнаете, как импортировать набор данных из корзины Google Cloud Storage и освоите пользовательский интерфейс BigQuery, работая с набором данных розничного банковского обслуживания. Кроме того, эта лабораторная работа научит вас, как раскрыть ключевые функции BigQuery, которые значительно упрощают повседневную аналитику, например экспорт результатов запросов в электронную таблицу, просмотр и выполнение запросов из истории запросов, просмотр производительности запросов и создание табличных представлений для для использования другими командами и отделами.

Что вы узнаете

В ходе этой лабораторной работы вы научитесь выполнять следующие задачи:

  • Загрузка новых данных в BigQuery
  • Познакомьтесь с пользовательским интерфейсом BigQuery.
  • Запуск запросов в BigQuery
  • Просмотр производительности запроса
  • Создание представлений в BigQuery
  • Безопасно делитесь наборами данных с другими

2. Введение: понимание пользовательского интерфейса BigQuery

В этом разделе вы узнаете, как перемещаться по пользовательскому интерфейсу BigQuery, просматривать доступные наборы данных и выполнять простой запрос.

Загрузка пользовательского интерфейса BQ

  1. Введите «BigQuery», расположенное в верхней части консоли Google Cloud Platform.
  2. Выберите BigQuery из списка опций. Обязательно выберите вариант с логотипом BigQuery и увеличительным стеклом.

Просмотр наборов данных и выполнение запросов

ee95ce13969ee1ad.png

  1. На левой панели в разделе «Ресурс» щелкните свой проект BigQuery.
  2. Нажмите bq_demo чтобы просмотреть таблицы в этом наборе данных.
  3. В поле типа поиска введите «card», чтобы просмотреть список таблиц и наборов данных, в названии которых содержится слово «card».
  4. Выберите таблицу «card_transactions» из списка результатов поиска.

beb6ff6ca2930125.png

  1. Нажмите вкладку «Подробности» под панелью card_transactions , чтобы просмотреть метаданные для этой таблицы.
  2. Нажмите вкладку «Предварительный просмотр», чтобы просмотреть предварительный просмотр таблицы.

[ Конкурентная тема для обсуждения]: интеграция с каталогом данных Google означает, что метаданными BigQuery можно управлять наряду с другими источниками данных, такими как озера данных или источники операционных данных. Это один из примеров, который показывает, что Google Cloud — это не просто реляционное хранилище данных, это целая платформа аналитических данных.

  1. Нажмите значок лупы, чтобы запросить таблицу «card_transactions». Автоматически сгенерированный текст появится в редакторе запросов BigQuery.
  2. Введите код ниже, чтобы показать нам отдельных продавцов из таблицы Card_Transactions.
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
  1. Нажмите кнопку «Выполнить», чтобы выполнить запрос.

35113542e7ec6fa6.png

3. Создание наборов данных и обмен представлениями

Обмен данными и управление имеют решающее значение, это можно сделать интуитивно в пользовательском интерфейсе BQ. В этом разделе вы узнаете, как создать новый набор данных, заполнить его представлением и опубликовать этот набор данных.

Просмотр истории запросов

  1. Нажмите «История запросов» на левой панели консоли GCP.
  2. Нажмите «Обновить» на панели «История запросов».
  3. Нажмите на изображение/стрелку загрузки в правой части запроса, чтобы просмотреть результаты запроса.

6e3232ed96f647b8.png

Создание нового набора данных

  1. Выберите [название вашего проекта] на панели ресурсов пользовательского интерфейса BigQuery.
  2. Выберите «Создать новый набор данных» на панели информации о проекте.
  3. Для идентификатора набора данных:

bq_demo_shared

  1. Все остальные поля оставьте по умолчанию
  2. Нажмите «Создать набор данных».

b433eba38f55124f.pngdd774aca416e7fbc.png

Создание представлений

[ Конкурентная тема для обсуждения]: BigQuery полностью совместим с ANSI SQL и поддерживает как простые, так и сложные соединения нескольких таблиц, а также богатые аналитические функции. Мы постоянно выпускаем расширенную поддержку распространенных типов данных и функций SQL, используемых в традиционных хранилищах данных, чтобы упростить процесс миграции.

  1. Выберите «Создать новый запрос» в верхней части панели редактора запросов.
  2. Вставьте следующий код в редактор запросов
WITH revenue_by_month AS (
SELECT
    card.type AS card_type,
    FORMAT_DATE('%Y-%m', trans_date) as revenue_date,
    SUM(amount) as revenue
FROM bq_demo.card_transactions
JOIN bq_demo.card ON card_transactions.cc_number = card.card_number
WHERE trans_date  DATE_ADD(CURRENT_DATE, INTERVAL -1 YEAR)
GROUP BY card_type, revenue_date
)
SELECT
    card_type,
    revenue_date,
    revenue as monthly_rev,
    revenue -  LAG(revenue) OVER (ORDER BY card_type, revenue_date ASC) as rev_change
FROM revenue_by_month
ORDER BY card_type, revenue_date ASC;
  1. Нажмите «Сохранить вид»
  2. Выберите текущий проект в поле «Название проекта».
  3. Выберите вновь созданный набор данных:

bq_demo_shared

  1. Для имени таблицы:

rev_change_by_card_type

  1. Нажмите «Сохранить».

4b111056b544c27d.png

Совместное использование представлений и наборов данных

  1. Выберите набор данных «bq_demo_shared» на левой панели ресурсов в пользовательском интерфейсе BigQuery.
  2. Нажмите «Поделиться набором данных» на панели информации о наборе данных.
  3. Введите адрес электронной почты
  4. В раскрывающемся меню «Роль» выберите «Просмотр данных BigQuery».
  5. Нажмите «Добавить»
  6. Нажмите Готово

1c04b6b5ebc191dc.png

Изучите данные в таблицах

[ Конкурентная тема для обсуждения] Еще одним преимуществом BigQuery по сравнению с конкурентами является BI Engine. BI Engine можно использовать для возврата сводных запросов типа BI менее чем за секунду с помощью механизма кэширования в памяти. В настоящее время это поддерживается Google Data Studio, но вскоре будет доступно для ускорения всех запросов в BigQuery.

Например:

Snowflake использует сторонние инструменты BI для информационных панелей и визуализации данных, в то время как GCP предлагает ряд интегрированных инструментов BI, включая Connected Sheets, Data Studio и Looker.

  1. Выберите представление «rev_change_by_card_type» на левой панели ресурсов в пользовательском интерфейсе BigQuery.
  2. Нажмите на увеличительное стекло, чтобы просмотреть вид. 255be22b0eaf339.png
  3. Тип:

ВЫБИРАТЬ *

ИЗ bq_demo_shared.rev_change_by_card_type

  1. Нажмите «Выполнить».
  2. Нажмите значок «Экспорт» на панели результатов.
  3. Выберите «Изучать данные с помощью таблиц».

9617b522025fd337.png

  1. Нажмите «Начать анализ»
  2. Выберите «Сводная таблица».
  3. Выберите «Новый лист».
  4. Нажмите «Создать»
  5. Добавьте «revenue_date» в раздел «Строка» редактора сводных таблиц, расположенного в правой части окна «Таблицы».
  6. Добавьте «card_type» в раздел «Столбец» редактора сводных таблиц.
  7. Добавьте «monthly_rev» в раздел «Столбец» редактора сводных таблиц.
  8. Нажмите Применить.

48e67c2e04965796.png

  1. Перейдите в верхнюю часть пользовательского интерфейса Таблиц и выберите «Вставить диаграмму».

4. Настройка: интеграция данных

В этом разделе вы узнаете, как создать новую таблицу и выполнить JOINS для одного из множества общедоступных наборов данных, доступных в Google Cloud.

[Конкурентная тема для разговора]:

BigQuery уже много лет поддерживает общие наборы данных. Клиенты в любом проекте могут запрашивать как общедоступные наборы данных, так и наборы данных в других проектах, к которым им предоставлен общий доступ.

BigQuery может поддерживать озера данных в GCS за счет использования внешних таблиц. Помимо массовой загрузки, BigQuery поддерживает возможность потоковой передачи данных в базу данных со скоростью более сотен МБ в секунду. Snowflake не поддерживает потоковую передачу данных.

Импорт данных в новую таблицу

  1. На панели ресурсов выберите набор данных bq_demo.
  2. На панели информации о наборе данных выберите «Создать таблицу».
  3. Выберите облачное хранилище Google в качестве источника.
  4. В текстовом поле пути к файлу:

gs://retail-banking-looker/district

  1. Выберите CSV в качестве формата файла.
  2. Введите «район» в поле «Имя таблицы».
  3. Установите флажок для схемы автоматического определения.
  4. Нажмите Создать таблицу.

Запрос общедоступного набора данных

  1. В редакторе запросов введите следующий запрос:
SELECT
    CAST(geo_id as STRING) AS zip_code,
    total_pop,
    median_age,
    households,
    income_per_capita,
    housing_units,
    vacant_housing_units_for_sale,
    ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
    ROUND(SAFE_DIVIDE(bachelors_degree_or_higher_25_64, pop_25_64),4) AS rate_bachelors_degree_or_higher_25_64
  FROM
    `bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`;
  1. Нажмите «Выполнить».
  2. Посмотреть результаты

dff40709db70d75.png

  1. Теперь мы объединим эти общедоступные данные с другим запросом. Введите следующий код SQL в редакторе запросов:
WITH customer_counts AS (
    select regexp_extract(address, "[0-9][0-9][0-9][0-9][0-9]") as zip_code, 
    count(*) as num_clients
    FROM bq_demo.client
    GROUP BY zip_code
    )
SELECT 
    CAST(geo_id as STRING) AS zip_code,
    total_pop,
    median_age,
    households,
    income_per_capita,
    ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
    num_clients
FROM
    `bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`
JOIN customer_counts on zip_code = geo_id
ORDER BY num_clients DESC
  1. Нажмите «Выполнить».
  2. Посмотреть результаты

b853ad571e7a3038.png

5. Управление мощностями

Работа со слотами и резервациями

BQ предлагает несколько моделей ценообразования для удовлетворения ваших потребностей. Большинство крупных клиентов в первую очередь используют фиксированную ставку для предсказуемого ценообразования с зарезервированной мощностью. Для превышения этой базовой мощности BQ предлагает гибкие слоты, которые позволяют вам наращивать дополнительную емкость на лету, а затем автоматически сокращать ее, не влияя на выполнение запросов. BQ также имеет модель побайтового сканирования, которая позволяет вам платить только за выполняемые вами запросы.

[ Конкурентная тема для обсуждения: некоторые конкуренты работают исключительно по модели фиксированной мощности, когда клиентам приходится выделять виртуальный склад для каждой рабочей нагрузки в своей организации. В дополнение к модели низкой стоимости каждого запроса, которая упрощает начало работы с BigQuery, мы поддерживаем модель ценообразования за мощность с фиксированной ставкой, при которой простаивающая мощность может быть разделена между набором рабочих нагрузок. ]

  1. Перейдите на вкладку бронирования.

964f4ab78d35d067.png

  1. Нажмите «Купить слоты».

c8cb5ee61bbea814.png

  1. Выберите «Гибкий» в качестве продолжительности.
  2. Выберите 500 слотов.
  3. Подтвердите покупку.

d615f5908dffc1ee.png

  1. Нажмите «Просмотреть обязательства по слотам».
  2. Нажмите «Создать бронирование».
  3. Пользователь «demo» в качестве имени резервирования
  4. Выберите США в качестве местоположения
  5. Введите 500 для слотов (все доступны)
  6. Нажмите «Назначения»
  7. Выберите текущий проект для проекта организации
  8. Выберите «демо» для идентификатора бронирования.
  9. Нажмите «Создать».