Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Тестирование больших
данных
Data Engineer at Automattic
Igor Khrol
30 НОЯБРЯ
Тестирование
больших данных
Игорь Хрол
Игорь Хрол
Data Engineer в Automattic
Scala, Python
13 лет на службе в IT
https://khroliz.com
https://data.blog
Что тестируем?
Data Source
Data Source
1. Базы данных (Postres, MySQL, Oracle…)
2. Внешние REST (и не только) API
3. Всякие очереди сообщений (Kafka, RabbitMQ…)
4. Просто файлы (csv, txt…)
5. Всё что угодно
Transformation
ETL: Transformation
● Data conversion
● Aggregation
● Deduplication
● Filtering
● Data cleaning
● Formatting
● Merging/joining
● Calculating new fields
● Sorting
● Pivoting
● Lookup operations
● Data validation
Warehouse
Тестирование больших данных
Тестирование больших данных
Тестирование больших данных
Warehouse (Cloud)
Warehouse (HDFS)
Как же это тестируют?
Маленькие тесты
(модульные)
Тестирование трансформаций
Тестирование больших данных
Чем хорош Gherkin в данном случае?
- Поддержка таблиц
- Играет роль документации
- Низкий порог входа
- Не возникает проблемы словаря
Не путать с BDD!
Интеграционные тесты
- Поиск циклов в графе трансформаций
- Проверка конфликтов версий
- Инфраструктурные проблемы
Окружение для запуска:
- Пустые/случайные данные
- Запуск на репрезентативной выборке
- Прогон на всех данных
Ручное тестирование
Ручное тестирование
Где взять
expected result?
Ручное тестирование
Где взять
expected
result?
тесты
трансформаций
интеграционные
Тестирование больших данных
Мониторинг
- Работоспособность железа
- Доступность API, UI, данных
- Загрузка кластера:
- диск
- память
- CPU
- network
Мониторинг данных
- Консистентность данных:
- Внешние ключи
- Уникальные ключи
- not null
- Проверка бизнес-правил
- Использование ML-моделей
Напоследок…
Специфические вещи
Тестирование больших данных
Скорость
Стоимость
Количество файлов в HDFS
The default size of a block in HDFS is 128 MB (Hadoop 2.x)
and 64 MB (Hadoop 1.x) which is much larger as compared
to the Linux system where the block size is 4KB.
https://khroliz.com

More Related Content

Тестирование больших данных