В статье разобраны стандартные задачи, которые дают на сертификации 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 #аналитика