#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 от этих инструментов…