Найти в Дзене
Ник Уотсон

CCA Data Analyst (CCA159) – Разбор задач

Оглавление

В статье разобраны стандартные задачи, которые дают на сертификации Cloudera Data Analyst.

Статья была подготовлена на основе экзамена 2020-ого года.

Условия всех задач были переведены мной на русский язык. На экзамене всё на английском.

Общие рекомендации

1. На экзамене у вас будет доступ к документации. Заранее изучите, чтобы уметь ориентироваться в разделах.

2. Все таблицы стоит создавать и наполнять данными в два этапа. Сначала создавать DDL таблицы (CREATE TABLE ...), затем загружать в таблицу данные (INSERT INTO ...). Так вы сможете явно задавать тип полей, каталог для данных, формат и т.д.

3. Если нужно создать таблицу по подобию другой, которая уже существует в базе данных, советую использовать SHOW CREATE TABLE, чтобы точно не ошибиться с форматом.

4. Виртуалка в которой проходит экзамен сильно тормозит. Сильно тормозит интерфейс Hue, поэтому скрипты лучше писать в текстовом редакторе.

5. Когда запустили запрос в Hue – приступайте решать следующую задачу. Запросы могут бежать по 5-10 минут. У вас нет времени ждать. На экзамене нет сложных задач, сложность заключается в управлении временем.

Задача 1:

Таблица customer содержит адреса в виде "<номер дома> <название улицы>". Название улицы может содержать цифры и пробелы. Нужно вывести список уникальных улиц, удалив из них номер дома. Список сохранить в текстовом виде в каталоге /data/problems/task1/solution/

Решение:

Задача 2:

Создать таблицу в формате avro со схемой из каталога /data/schema/task2/schema.avsc, с данными в каталоге /data/problems/task2.

Прим. В задаче отстутствовала база данных для решения. Поэтому пришлось создавать самостоятельно.

Решение:

Задача 3:

В таблице customer ключ id – число int. Нужно создать новую таблицу solution в схеме task3 с теми же данными, но первичный ключ должен иметь вид 10000000000 + id.

Решение:

Задача 4:

Создать скрипт для создания информации о email, фамилии и городе на основании данных двух таблиц – клиенты (task4.client) и работники (task4.employee). Вывести информацию через табуляцию. Скрипт сохранить в локальной файловой системе в папке /cca/task4/.

Решение:

1. Создаем файл solution.sql в нужной папке /cca/task4/

2. Прописываем алгоритм скрипта в файле и сохраняем:

3. Проверить скрипт можно через терминал командой hive -f solution.sql

Задача 5:

Сохранить таблицу task5.problem в формате parquet.

Решение:

Задача 6:

Создать скрипт для отбора из таблицы task6.customer уникальных пар Имя (name) и Фамилия (last_name). Отсортировать сначала по фамилии, потом по имени. Затем сконкатенировать через пробел.

Скрипт сохранить в локальной файловой системе в папке /cca/task6.

Решение:

1. Создаем файл solution.sql в нужной папке /cca/task6/

2. Прописываем алгоритм скрипта в файле и сохраняем:

3. Проверить скрипт можно через терминал командой hive -f solution.sql

Задача 7:

Cоздать таблицу клиентов (task7.solution), у которых имеются закрытые накопительные счета. В таблицу загрузить уникальные ID клиентов.

Даны две таблицы customer и account, связь по customer.id = account.custid, факт закрытия - по статусу счета (account.status = 'CLOSED'), признак накопительный - по типу счета (account.type = 'DEPOSIT').

Решение:

Задача 8:

Создать представление (View). Сджойнить две таблицы: task8.customer, task8.account, связь по customer.id = account.custid

Отфильтровать данные с account.status = 'OPEN'. Вывести id клиента (customer.id) и тип счета (account.type). Тип счета переименовать в acc_type

Решение:

Задача 9:

Создать скрипт: в таблице task9.customer сгруппировать записи по state и вывести только те штаты, в которых клиентов больше 500 000.

Вывести через табуляцию: <Штат>\t<Кол-во клиентов>

Скрипт сохранить в локальной файловой системе в папке /cca/task9.

Решение

1. Создаем файл solution.sql в нужной папке /cca/task9/

2. Прописываем алгоритм скрипта в файле и сохраняем:

3. Проверить скрипт можно через терминал командой hive -f solution.sql

#bigdata #бизнес-анализ #sql #hadoop #cloudera #аналитика