Файл: Работа с редактором запросов в Hue.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 58

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Системы управления данными

Практическая работа №10

Визуализация данных

Работа с редактором запросов в Hue


В этом упражнении данные анализируются с помощью редактора запросов Hue, а различные графики создаются с помощью функций визуализации данных в Hue.
    1. Получение данных

      1. Сначала зайдите на сайт kaggle и загрузите набор данных titanic (train.csv, test.csv, gender_submission.csv). Пожалуйста, перейдите по ссылке ниже. https://www.kaggle.com/c/titanic/data

      2. Загруженный файл копируется в рабочий каталог с помощью общего каталога virtualbox (этот общий каталог может отличаться в зависимости от ваших настроек). Также можно скачать файл прямо в виртуальной машине.

      3. Создание таблицы (titanic) и загрузка данных в таблицу в Hue.

        1. Запустите браузер Hue. http://localhost:8888

        2. Для этого упражнения используйте базу данных mydb.

        1. Если mydb не существует, создайте новую БД и используйте её.


create database mydb;
      1. Создайте таблицу под названием cars со следующей схемой:



        Column Name

        Column Type

        id

        Int

        survived

        int

        pclass

        int

        Name

        string

        sex

        string

        age

        int

        sibsp

        int

        parch

        int

        ticket

        string

        fair

        float

        cabin

        string

        embarked

        string
        1. Разделителем поля является запятая, а поле name также содержит запятую, поэтому вам нужно создать таблицу, чтобы игнорировать запятую.
          Подсказка: используйте OpenCSVSerde в строке ROW FORMAT и



ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'

WITH SERDEPROPERTIES (

"separatorChar" = ",",

"quoteChar" = "\"")
        1. Расположение таблицы: /mywarehouse/titanic с настроенным типом.

        1. Параметр tblproperties ("skip.header.line.count"="1") используется при создании таблицы для исключения заголовочной части данных.

        2. Если вы посмотрите на titanic.csv, вы сможете проверить имя каждого поля в первой строке.

        1. На самом деле, если таблица создается без исключения заголовка, этот параметр можно изменить позже с помощью команды alter.


ALTER TABLE tablename

SET TBLPROPERTIES ("skip.header.line.count"="1");
        1. Загрузите данные из /home/student/titanic.csv в таблицу titanic


load data inpath '/user/student/titanic.csv' into table titanic;
        1. Если созданная схема отображается неправильно, выполните следующую команду set.


set hive.serdes.using.metastore.for.schema=

org.apache.hadoop.hive.serde2.OpenCSVSerde;
        1. Используйте команду Hive: Create Table As Select (CTAS) для создания таблицы «titanic_ui» для визуализации. Обязательными столбцами являются:


create table titanic_ui as select id, survived, pclass, sex, age, ticket, fare, embarked from titanic;
    1. Создайте запрос для визуализации

      1. Введите следующий запрос в окно редактора: найти количество людей по полу, классу и выживанию.


select survived, pclass, sex, count(id) as cnt from titanic_ui group by survived, pclass, sex order by cnt desc;
      1. Щелкните стрелку вниз под значком выполнения и выберите “Форматировать”.

      1. Запрос переформатируется, как указано выше. Вы можете сохранить запрос, нажав кнопку сохранить.


      1. Выберите значок выполнить, чтобы запустить запрос.

    1. Создайте столбчатую диаграмму, основанную на результатах запроса:

      1. Нажмите на значок диаграммы и выберите пункт “Bars”

Примечание: ось X = выжившие, ось Y = cnt (количество людей), 0 - погибший, 1 - выживший.

        1. Создайте круговую диаграмму, выбрав значок диаграммы и нажав кнопку “Pie”

        1. Создайте столбчатую диаграмму для каждой группы выживших в разбивке по полу.


Примечание: ось X = пол, ось Y = cnt (количество), группа = выжившие
      1. Нарисуйте гистограмму выживших и умерших в разбивке по возрасту.

        1. Отрегулируйте ограничение таким образом, чтобы отображалось не более 10 человек, так как на графике возрасты настолько различны, что трудно идентифицировать значения.

        1. Если нужно, загрузите результаты запроса, щелкнув значок загрузки и выбрав, в каком формате вы хотите загрузить, скопировать или экспортировать результаты.

        1. Создайте желаемый запрос и визуализируйте результат.

Визуализации на географической карте в HUE


В этой лабораторной работе вы узнаете, как создать карту с помощью визуализации Hue. Чтобы использовать функцию Map, у вас должна быть информация, указывающая широту и долготу в данных. Здесь мы используем таблицу “post_latlon”, которую мы создали в предыдущей лабораторной работе.

    1. Создайте Maker Maps с помощью post_latlon

      1. Для начала, если таблица post_latlon не существует, создайте ее со следующей схемой и импортируйте данные с помощью sqoop. (Если у вас есть таблица, перейдите к разделу 1.3)

        1. Используйте Sqoop для импорта таблицы posts в каталог HDFS /mywarehouse/posts

        2. Установите строку --connect в jdbc:mysql://localhost/labs

        3. Установите параметры доступа: --username и --password; и то и то - "student"

        4. Установите --table для импорта posts

        5. Установите такое значение --target-dir, при котором импортированные значения будут сохранены в /mywarehouse/posts


sqoop import \

--connect jdbc:mysql://localhost/labs \

--username student --password student \

--table posts --target-dir /mywarehouse/posts \

--hive-drop-import-delims \
      1. Создайте таблицу с именем post_latlon со следующей схемой:




Column Name

Column Type

id

Int

latitude

float

longitude

float



        1. Выполните следующий sql-запрос.


create table post_latlon (

id int,

latitude float,

longitude float )

row format delimited

fields terminated by ','

location '/mywarehouse/post_latlon';
      1. Сначала создайте запрос для получения значений широты и долготы, затем диаграмму.


select latitude, longitude from post_latlon where latitude is not null;
    1. Создайте столбчатую диаграмму, основанную на результатах запроса

      1. Щелкните значок диаграммы и выберите “Marker Map”

      1. Постройте график, выбрав поля широты (latitude) и долготы (longitude) и тип (type) соответственно. Limit и Label не выбирайте.

      1. Вы можете увеличить масштаб области, нажав на увеличительное стекло. Используйте функцию ограничения, чтобы ограничить масштаб только на 25 единиц.


    1. Создайте Marker Map с помощью соединения таблиц

      1. Соедините таблицу posts и таблицу post_latlon, чтобы создать визуализацию, отображающую заголовок и информацию о широте и долготе.


Подсказка:

select p.author_id, p.title, a.latitude, a.longitude from post_latlon a

join posts p on a.id = p.author_id;