Инжиниринг данных — упражнения
Мы публикуем упражнения для начинающих инженеров данных. Вот основные моменты этих упражнений:
- Реалистичные упражнения по обработке данных
- Используйте упражнения, основанные на прецедентах, — серия упражнений для решения конкретной постановки задачи в течение определенного периода времени.
- Экспертная оценка, поддержка и обратная связь
- Экспертная оценка решений и отзывы
- Все важные навыки, связанные с инжинирингом данных — SQL, Python, Shell Scripting, Spark, NoSQL и т. д.
Вот упражнения на этот год.
- Упражнение 1. Миграция данных. База данных MySQL в Mongo DB. Настройка базы данных MySQL.
- Упражнение 2 Простое упражнение Python — Сортировка дат
- Упражнение 3. Упражнение Python. Работа с данными JSON
- Упражнение 4. Настройка MySQL с помощью упражнений Docker
Упражнение 1. Миграция данных. База данных MySQL в Mongo DB. Настройка базы данных MySQL.
Давайте создадим гипотетический вариант использования для переноса данных из MySQL в базу данных Mongo.
Текущее состояние: у нас есть веб-приложение, работающее на базе данных MySQL. Команда решила перенести приложение с MySQL на Mongo DB.
В рамках этого кейса мы увидим, как перенести данные из MySQL в базу данных Mongo с помощью Python в качестве языка программирования.
Предпосылки
Ваш персональный компьютер или ноутбук должен быть достаточно мощным, чтобы одновременно запускать несколько инструментов.
- Желаемая конфигурация ПК – 16 ГБ ОЗУ, четырехъядерный процессор и достаточно места для хранения
- С указанной выше конфигурацией вы сможете одновременно запускать MySQL, PyCharm, MongoDB.
Если у вас нет вышеуказанной конфигурации, вам, возможно, придется использовать облачные сервисы, такие как AWS, GCP и т. д., для настройки необходимых баз данных для вашей практики.
Настройка исходной базы данных
Чтобы выполнить это упражнение, вам необходимо смоделировать исходную базу данных.
- Установить MySQL
- Убедитесь, что он работает нормально
- Создать базу данных по названию розничной торговли
- Создайте все 6 таблиц – заказы, позиции_заказов, клиенты, продукты, категории и отделы.
- Загрузите данные во все 6 таблиц. Данные доступны в этом репозитории GitHub repository 43.
Этапы самопроверки
Вот этапы самопроверки:
- Команда SHOW databases должна отображать розничную базу данных.
-
Вы можете подключиться к базе данных retail_db с помощью
USE retail
. -
Вы можете запустить
SHOW tables
для просмотра списка созданных таблиц. Он должен содержать 6 таблиц. - Вы можете запускать запросы на подсчет для всех таблиц, чтобы подтвердить данные в таблицах.
Упражнение 2 — Простое упражнение Python — Сортировка дат
Давайте позаботимся о сортировке этого списка в хронологическом порядке возрастания.
- Список, который необходимо отсортировать
['01 Apr 2017', '01 Apr 2018', '01 Aug 2017', '01 Aug 2018', '01 Dec 2017', '01 Dec 2018', '01 Feb 2017', '01 Feb 2018', '01 Jan 2017', '01 Jan 2018']
- Ожидаемый результат
['01 Jan 2017', '01 Feb 2017', '01 Apr 2017', '01 Aug 2017', '01 Dec 2017', '01 Jan 2018', '01 Feb 2018', '01 Apr 2018', '01 Aug 2018', '01 Dec 2018']
Упражнение 3. – Упражнение Python. Работа с данными JSON
Довольно часто нам приходится иметь дело с данными JSON Data. В рамках этого упражнения вам будет предложено выполнить основные операции, чтобы лучше понять работу с данными JSON.
- Вот сущность, которая содержит образец набора данных JSON.
https://gist.github.com/dgadiraju/8000939350e7fae927d9d72585ade81c
- Каждая строка содержит одну запись сотрудника.
Чтение данных JSON
Вот задачи, которые вам нужно выполнить.
- Скопируйте данные из списка в файл с именем employee.json в выбранное вами место в вашей системе.
- Просмотрите данные и определите следующее (вам не нужно предоставлять это как часть ответа).
o Тип каждого сотрудника
o Тип номера телефона
o Тип адресов
- Чтение данных JSON в список словарей (один словарь для сотрудника).
o Подсказка: вы можете использовать базовый файловый ввод-вывод Python и библиотеку json или Pandas.
- Получить количество элементов в словаре
Задача 4. –Настройка MySQL с помощью упражнений Docker
Мы можем настроить MySQL с помощью докера, чтобы настроить и создать необходимую базу данных, таблицы, а также загрузить в нее данные.
Вот команды, используемые как часть демки:
- Вытягивание изображения
docker pull mysql
- Запуск контейнера с помощью образа
docker run --name mysql_retail -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -v C:\Users\dgadiraju\Documents\projects\mysql_to_mongo\mysql_db\retail_db:/retail_db mysql:latest
- Подключение к контейнеру
docker exec -it mysql_retail bash
- Создание базы данных
CREATE DATABASE retail; CREATE USER retail_user IDENTIFIED BY 'itversity'; GRANT ALL ON retail.* TO retail_user;
- Подключение к базе данных с помощью docker exec.
docker exec -it mysql_retail mysql -u retail_user -p -D retail SOURCE /retail_db/create_db.sql
- Чтобы остановить контейнер, мы можем запустить
docker stop mysql_retail
- Для запуска контейнера мы можем использовать
docker start mysql_retail
- Чтобы удалить контейнер, мы можем использовать
docker stop mysql_retail
- Для доступа к журналам мы можем использовать
docker logs mysql_retail