Генерация отчетов OBIEE sql для jdbc

Как OBIEE генерирует операторы sql, которые затем запускаются в целевой базе данных? У меня есть отчет, который генерирует один оператор SQL при выполнении в базе данных Oracle и совершенно другой при выполнении через драйвер jdbc в Apache Drill. Моя проблема в том, что во втором случае запрос даже синтаксически недействителен.

Я прочитал это - http://gerardnico.com/wiki/dat/obiee/query_compiler, но до сих пор не понимаю механизма, с помощью которого Oracle решает, какой запрос будет выполняться на основе драйвера.


person ivan    schedule 12.11.2015    source источник


Ответы (1)


OBIEE использует "общую модель метаданных", известную как RPD. У него есть логическая модель ваших данных, а также физические источники данных для нее. Когда пользователь запускает отчет, он представляется как «логический» запрос, который BI-сервер затем компилирует с помощью RPD для создания необходимого SQL-запроса (или запросов) к источникам данных.

В то время как Hive и Impala определенно работают с OBIEE, я не слышал об успешном использовании Drill. Если у вас работает подключение, чтобы разобраться с синтаксисом запроса, который он генерирует, вам нужно поиграть с Конфигурация DBFeatures, которую OBIEE использует для понимания того, какие операторы SQL допустимы для данной базы данных. Поэтому, если Drill не поддерживает, например, INTERSECT, вы просто снимаете галочку с INTERSECT_SUPPORTED (я перефразирую точную терминологию диалога).

person Robin Moffatt    schedule 18.01.2016