Соединитель JDBC Kusto / Dataexplorer и функционирует как представления

#azure-data-explorer

#azure-data-explorer

Вопрос:

Небольшой вопрос: кто-нибудь знает, можно ли предоставлять функции Kusto (Azure Data Explorer) в виде представлений через JDBC. Предыстория:

  • У нас есть некоторые (сторонние, которые нельзя изменить) инструменты, которые могут подключаться к целям JDBC. К сожалению, большинство из них не могут видеть или использовать процедуры / функции, а работают только с представлениями и таблицами.
  • У нас есть несколько довольно сложных запросов, реализованных в KQL, которые мы хотели бы использовать в этих инструментах, и их нелегко выполнить в SQL.

Функции Kusto предоставляются JDBC-драйвером как процедуры. Есть ли способ указать, что некоторые функции экспортируются как представления (какими они являются семантически?). Мы ничего не нашли в документации.

Ответ №1:

Хранимые функции Kusto действительно моделируются в представлениях метаданных SQL и хранимых процедурах как хранимые процедуры или / и функции, иначе называемые подпрограммами (см. sys.sp_stored_procedures, information_schema.routines).

Говоря, что, если функция KQL не имеет параметров, SQL-запрос из нее, как будто это было представление, будет работать, например: выберите * из kusto.Моя функция

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

1. Функции экспортируются как хранимые процедуры (видны в sys.sp_stored_procedures). Проблема в том, что некоторые из этих инструментов выполняют выборку метаданных и показывают нам только таблицы (и реальные представления, к которым функции kusto не относятся). Даже если мы можем выполнить select * из kusto.function, инструменты по-прежнему ожидают, что некоторые метаданные будут работать, поэтому мы можем работать только с исходными таблицами и ограниченной поддержкой SQL в kusto (есть инструменты, которые генерируют SQL, и поэтому у нас также возникают проблемы). Мы ищем способ скрыть запрос kusto от этих инструментов…