Как стать автором
Обновить

Комментарии 21

Зачем изобретать велосипед если есть NodeGraph. Уже все решено и немного больше

Складывается впечатление, что вы комментируете по принципу «Не читал, но осуждаю».
Как я понимаю, NodeGraph это платное решение для анализа-визуализации-документирования зависимостей и потоков данных, но не для того, чтобы организовывать и контролировать выполнение потоков задач, а нам нужно было в первую очередь именно это.

Не плохо. Но NodeGraph так же позволяет контролировать выполнение задач. И не просто факт выполнилось или нет, а еще проведение контрольных вычислений. С возможностью взаимодействия с моделью данных.

Ваша статья достаточно интересная, Но почему не рассмотреть другие варианты решения. Я предложил один из них, по моему скромному мнению достойный внимания.

И официально, по справке то что вы называете QMS называется QMC QlikView Managmant Console. Откройте help.qlik.com. он публично доступен и даже на русском языке

Официально, то, что я называю QMS в той же справке называется QMS — QlikView Management Service (ничего, что ссылка на английскую версию справки? ;) )
QMC — это интерфейс к QMS.
C QMS можно работать не только через QMC но и через API, о чем в статье и написано.
Надеюсь, вы будете внимательней читать публично доступный help.qlik.com на русском языке.

Ну тогда точнее с формулировками, ибо у вас же в тексте указано, цитирую "Выглядит интерфейс QMS примерно так:"
И тут Вы сами пишете мне в комментариях что "QMC — это интерфейс к QMS.". Ну так определяемся что все таки штатный интерфейс QMS называется QMC и правим текст статьи или продолжаем препирательства?

Согласен, точность формулировок важна. Исправил «интерфейс QMS» на «интерфейс к QMS». Спасибо.

Вам, скорее всего, не помешало бы прочитать документацию к продукту. QMC это веб-интерфейс для QMS. Автор написал корректно потому что говорил про сервисы(службы) QlikView.

А как вы анализируете исходники qvw-скриптов? Точнее — каким образом открываете их извне, не qv, в виде, доступном для анализа?

Клик умеет представлять исходники приложения в виде каталога с набором .xml и .txt файлов. Файл LoadScript.txt в этом каталоге как раз и содержит скрипт загрузки.
Этой возможностью мы пользуемся для того, чтобы складывать всё в Git-репозиторий. Файлы в бинарном формате qvw было бы не так удобно хранить там.
Да, вся эта боль хорошо знакома))
Но вообще правильнее, имхо, по-максимуму выносить расчёты на сторону БД.
Мне кажется, это философский вопрос — что лучше :)
Есть свои плюсы и минусы у каждого решения и нужно находить какой-то баланс.
Естественно, часть логики по преобразованию и представлению данных у нас делается на стороне КХД.
Но мы руководствовались соображениями, что КХД — это источник данных общего назначения, его витринами могут пользоваться самые разнообразные потребители, и витрины там старались делать по-возможности универсальными.
Для Клика данные готовились специально под него, под специфические требования к его моделям. И данные в этом формате вряд ли были бы интересны другим системам и пользователям. К тому же в КХД свои требования к разработке и своя периодичность выкатывания изменений в бой. Поэтому нам было проще часть работы делать независимо на стороне Клика.

А не оценивали идею сделать следующий шаг, и сами преобразования тоже в Airflow сделать в виде Python/SQL операторов? Не стали так делать из-за трудоемкости миграции или по другим соображениям?

В первую очередь — не было необходимости. Возможности и производительность ETL средствами QlikView мы считали достаточными для того, чтобы продолжать пользоваться им для этой цели.
В QMS есть возможность задавать расписание обновления и зависимости файлов, но, к сожалению, этот функционал достаточно ограничен. Например, мы можем задать зависимость только от одного файла.

Это неверно. Задание можно поставить после выполнения нескольких условий, не обязательно одного.
У меня подозрение, что это эта опция доступна только в функционале Publisher, но не простого Reload Engine.
Это так?
Тут я уже утверждать не могу, ставил задачи только на сервере с паблишером.
В доках это не указано
help.qlik.com/en-US/qlikview/April2019/Subsystems/QMC/Content/QV_QMC/QMC_System_SupportingTasks_ExternalPrograms_Triggers.htm
Ну в Reload Engine мы такого функционала не нашли. А паблишер жаба не позволила купить.
Спасибо за комментарий, отмечу в статье, что ограничение актуально только для Reload Engine.
есть еще дикий «велосипед» делать перезагрузки с помощью Qv.exe (qlikview Desktop) которые назначать windows планировщиком с множеством условий. Но теряется возможность старта задач по цепочке.
Да, верно, этот функционал доступен только с паблишером. В-принципе, я по ходу чтения статьи пытался придумать, зачем может быть полезет Airflow вкупе с паблишером, но не придумал. Но как бюджетная альтернатива — отлично, спасибо вам за материал!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации