Озеро данных Azure - HDInsight и хранилище данных
Я нахожусь в состоянии, когда мы читаем из нашего озера данных Azure, используя внешние таблицы в хранилище данных Azure.
Это позволяет нам читать из озера данных, используя хорошо известный SQL.
Однако другой вариант - использование Data Lake Analytics или какой-либо вариант HDInsight.
Производительность мудрая, я не вижу большой разницы. Я предполагаю, что Data Warehouse выполняет некоторую форму распределенного запроса в фоновом режиме, преобразуя его в U-SQL(?), И поэтому зачем нам использовать Data Lake Analytics с немного отличающимся синтаксисом U-SQL?
С сценарием python, также доступным в SQL, я чувствую, что мне не хватает ключевой цели Data Lake Analytics, кроме стоимости (оплата за пакетное задание, а не постоянное время работы базы данных).
2 ответа
Если вашей основной целью является запрос данных, хранящихся в хранилище данных Azure (ADW), то использование Azure Data Lake Analytics (ADLA) не дает никаких реальных преимуществ. Но как только у вас есть другие (не) структурированные данные, хранящиеся в ADLS, например, документы json или csv, преимущество ADLA становится очевидным, поскольку U-Sql позволяет объединять ваши реляционные данные, хранящиеся в ADW, с (un) структурированные / nosql данные хранятся в ADLS.
Кроме того, он позволяет использовать U-Sql для подготовки этих других данных к прямому импорту в ADW, поэтому фабрике данных Azure больше не требуется передавать данные в хранилище данных. Смотрите этот пост для получения дополнительной информации:
Типичным примером использования ADLS и SQL DW является следующий. Необработанные данные поступают в ADLS из различных источников. Затем ADL Analytics используется для очистки и обработки данных в готовом для загрузки формате. Оттуда данные высокого значения можно импортировать в Azure SQL DW через PolyBase.
..
Вы можете импортировать данные, хранящиеся в форматах файлов ORC, RC, Parquet или Текст с разделителями, непосредственно в SQL DW с помощью оператора Create Table As Select (CTAS) поверх внешней таблицы.
Обратите внимание, что оператор SQL в хранилище данных SQL в настоящее время НЕ генерирует U-SQL за кулисами. Кроме того, варианты использования между ADLA/U-SQL и SDW различны.
ADLA предоставляет вам механизм обработки для подготовки / обработки пакетных данных, чтобы сгенерировать ваши данные для создания витрины / хранилища данных, которые затем можно интерактивно читать с помощью SQL DW. В приведенном выше примере вы, кажется, в основном делаете вторую часть. Добавление "Представлений" в верхней части этих таблиц EXTERNAL для выполнения преобразований в SQL DW быстро приведет к пределам масштабируемости, если вы работаете с большими данными (а не только с несколькими строками по 100 тыс.).