2016-05-08 3 views
1

Я получаю множество плоских файлов, которые необходимо преобразовать и агрегировать в несколько этапов процесса ETL перед загрузкой в ​​базу данных SQL Server.Структура проверки данных SQL?

После каждого этапа я хотел бы проверить данные несколькими способами, и я изучаю существующие технологии, которые могут помочь.

После получения данных он должен быть проверен на такие вещи, как усеченные данные, форматирование даты и, как правило, обеспечение готовности данных к трансформации.

После очистки данных таким образом я хочу проверить данные. Это будет состоять из сравнения значений, таких как подсчет строк,% нулей, средних значений и т. Д. С предыдущими нагрузками или предопределенные значения. Если проверка не удалась, разработчик должен быть предупрежден.

tSQLt, блок тестирования модулей базы данных, имеет несколько утверждений, которые можно использовать для выполнения того, что я хочу. Его легко настроить и иметь достойную документацию. Это ближайший инструмент, который я вижу, но он далеко от того, для чего он предназначен.

Альтернативой является создание моего собственного инструмента, но я хочу знать - что-то подобное уже существует?

+0

хотя ваша тема привлекательна ко мне, поскольку я работаю с этим типом технологии, я думаю, что ваш вопрос не очень подходит для SO. Обычно у нас есть вопросы, где мы помогаем пользователям с проблемами их кодирования, фиксируя их. Возможно, если вы зададите свой вопрос в сообществе Software Recommendation, на него будет дан ответ быстро. –

+0

Спасибо @Walter_Ritzel, я не был знаком с этим сообществом. Вы правы, и я не могу придумать, как правильно сфокусировать вопрос. Я удалю этот вопрос, если через пару дней ничего не выйдет. – Richard

ответ

0

После небольшого поиска я нашел коммерческое решение, которое, я думаю, решит проблему: QuerySurge. Есть несколько подобных инструментов вроде этого (ETL validator), хотя он утверждает, что является уникальным программным обеспечением.

Он работает:

  • Используя набор сравнения между 2 запросов, поднимая ошибки, если они не матч. Это может быть количество строк до/после преобразований, или просто проверка результата ничего не возвращает.

  • Запросы могут быть выполнены в отношении любого источника данных, совместимого с JDBC, с использованием ANSI SQL и любого конкретного SQL-соединения. Результаты хранятся на отдельном сервере с использованием бэкэнда MySql, и вы можете выбрать либо , либо сами, либо использовать их серверы.

  • Это позволяет использовать командную строку и, следовательно, поддерживает непрерывные инструменты интеграции .

  • Приятной особенностью является группировка тестов (тестовых наборов), хотя это неясно, как результаты группы повлияют на общий тест.

  • Встроенные средства отчетности также выглядят красиво.

Это большая часть того, что я почерпнул с сайта. Я не скачал пробную версию, так как само программное обеспечение находится за пределами моего ценового диапазона.

Инструмент не является сложным в принципе, и мы будем развивать свою собственную инфраструктуру, чтобы справиться.

Смежные вопросы