Что такое данные
Прежде чем мы погрузимся в трубы, склады и оркестраторы, давай договоримся о самом простом: что вообще такое «данные». Этот модуль — про слова. Мы специально проходим его до того, как ты услышишь страшные термины вроде Airflow, Parquet или idempotency. Сначала фундамент, потом стройка.
Данные — это записанные факты. Имя клиента, сумма заказа, время клика, температура за окном в 14:00. Любой факт, который кто-то записал так, чтобы его можно было прочитать снова — это данные. Пока факт живёт только у тебя в голове, это не данные. Как только ты записал его в блокнот, в Excel или в базу — это данные.
Сами по себе факты бесполезны. Польза появляется, когда мы их собираем вместе, упорядочиваем и складываем рядом, чтобы потом задать вопрос: «сколько мы заработали в марте?», «какие товары покупают чаще всего?». Вся профессия дата-инженера крутится вокруг того, чтобы такие вопросы получали быстрый и честный ответ.
Таблица: главный способ хранить данные
Самый частый способ организовать данные — таблица. Ты видел таблицы тысячу раз: в Excel, в Google Sheets, в любом отчёте. Таблица — это сетка из строк и столбцов.
Представь список клиентов магазина:
| id | имя | город | сумма_покупок |
|---|---|---|---|
| 1 | Анна | Москва | 5400 |
| 2 | Борис | Казань | 1200 |
| 3 | Вера | Москва | 9800 |
Разберём по словам, потому что эти слова будут встречаться весь курс:
- Столбец (колонка) — это одно свойство, одинаковое для всех. Здесь столбцы:
id,имя,город,сумма_покупок. Столбец отвечает на вопрос «какого рода этот факт?». - Строка (запись, row) — это один объект целиком. Одна строка — один клиент. В строке собраны все его свойства сразу.
- Ячейка — пересечение строки и столбца, одно конкретное значение. Например, город Анны — «Москва».
Когда дата-инженеры говорят «таблица продаж содержит 40 миллионов строк», они имеют в виду ровно это: 40 миллионов записей, каждая со своими столбцами. Таблицы удобны тем, что компьютеру легко их фильтровать («покажи клиентов из Москвы») и считать по ним («сумма всех покупок»).
Файлы: где данные лежат на диске
Таблица — это форма. Но данные где-то физически хранятся. Чаще всего — в файле на диске. Файл — это просто именованный кусок данных, который можно скопировать, переслать, открыть. Для данных есть два очень популярных текстовых формата файлов, и тебе важно узнавать их в лицо.
CSV — таблица в виде текста
CSV расшифровывается как «comma-separated values» — значения, разделённые запятыми. Это самый простой способ записать таблицу в обычный текстовый файл. Каждая строка файла — это строка таблицы, а столбцы разделены запятыми:
id,имя,город,сумма_покупок
1,Анна,Москва,5400
2,Борис,Казань,1200
3,Вера,Москва,9800
Первая строка обычно содержит заголовки — названия столбцов. Остальные строки — данные. CSV любят за простоту: его открывает Excel, его читает любой язык программирования, он весит мало. Минус — в нём нет вложенности: только плоская таблица, и нигде не записано, что сумма_покупок — это число, а не текст.
JSON — данные с вложенностью
JSON (произносят «джейсон») нужен, когда данные не помещаются в плоскую таблицу. Например, у клиента может быть несколько телефонов и адрес из нескольких полей. JSON позволяет вкладывать данные друг в друга:
{
"id": 1,
"имя": "Анна",
"город": "Москва",
"телефоны": ["+7-900-111-22-33", "+7-900-444-55-66"],
"адрес": {
"улица": "Тверская",
"дом": 12
}
}
Здесь фигурные скобки {...} означают «объект» (набор полей с именами), а квадратные [...] — «список». JSON — главный формат для обмена данными между программами и API в интернете. Почти каждый сайт, который ты открываешь, под капотом получает данные именно в JSON.
Не пытайся прямо сейчас запомнить все детали CSV и JSON. Достаточно понимать: CSV — это плоская таблица в тексте, JSON — это данные с вложенностью. Дальше в курсе мы встретим и другие, «умные» форматы (например, Parquet), но они появятся только тогда, когда ты будешь к ним готов.
Кто такой дата-инженер (в одном предложении)
Теперь, когда у нас есть слово «данные», можно сказать главное.
Дата-инженер — это человек, который доставляет данные из одного места в другое: вытаскивает их из систем, где они появляются, и складывает туда, где их удобно анализировать. Если совсем коротко — дата-инженер заведует трубами, по которым текут данные.
Представь водопровод в городе. Вода (данные) появляется в источнике — в реке, в скважине (это базы приложений, сайты, датчики). Но людям нужна чистая вода из крана (готовые таблицы для отчётов и моделей). Между источником и краном кто-то должен проложить трубы, поставить фильтры, насосы и краны, и следить, чтобы вода текла без перебоев. Этот «кто-то» в мире данных — дата-инженер.
Аналитик, который строит дашборд, и специалист по машинному обучению, который тренирует модель, — это люди у крана. Они работают с уже доставленной и очищенной водой. Дата-инженер строит и обслуживает трубы, чтобы у них всегда был напор.
В следующем уроке мы разберём словарь этих «труб»: что такое пайплайн, источник, хранилище и почему данные иногда едут «партиями», а иногда «ручьём». А пока зафиксируй три слова: таблица, строка, столбец — это кирпичики, из которых сложено всё остальное.
Попробуй сам
- Открой любой Excel- или Google-таблицу (хоть список покупок). Найди в ней строки и столбцы. Назови вслух три столбца и скажи, какой факт хранит каждый. Сколько в таблице строк?
- Возьми одну строку из таблицы клиентов выше (например, Бориса) и запиши её сначала как одну строку CSV, а потом как объект JSON. Сравни: что проще читать человеку, а что — программе?
- Подумай о любом приложении, которым ты пользуешься (банк, доставка, соцсеть). Назови три факта, которые оно про тебя записывает. Это и есть его данные. Куда, по-твоему, они потом «едут»?