Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:
Databricks SQL
Databricks Runtime
Преобразует массив структур в таблицу.
В Databricks SQL и Databricks Runtime 16.1 и выше эта функция поддерживает вызов именованных параметров.
Синтаксис
inline(input)
Аргументы
-
inputARRAY<STRUCT>: выражение.
Возвраты
Набор строк, состоящих из полей в элементах структуры массива input.
Столбцы, созданные inline, являются именами полей.
input Если NULL строки не создаются.
Применимо к: Databricks Runtime 12.1 и более ранних версий:

inlineможно поместить только в списокSELECTв качестве корневого элемента выражения или после LATERAL VIEW. При размещении функции в спискеSELECTв этом же спискеSELECTне должно быть другой функции генератора, иначе возникает UNSUPPORTED_GENERATOR.MULTI_GENERATOR.Применимо к:
Databricks SQL
Databricks Runtime 12.2 LTS и выше:Вызов из пункта LATERAL VIEW или из списка
SELECTне рекомендуется. Вместо этого вызовитеinlineкак table_reference.
Примеры
Применимо к: Databricks Runtime 12.1 и более ранних версий:![]()
> SELECT inline(array(struct(1, 'a'), struct(2, 'b'))), 'Spark SQL';
1 a Spark SQL
2 b Spark SQL
> SELECT inline(array(struct(1, 'a'), struct(1, 'b'))),
inline(array(struct('c', 1.0), struct('d', 2.0))),
'Spark SQL';
1 a Spark SQL
2 b Spark SQL
Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR
Применимо к:
Databricks SQL
Databricks Runtime 12.2 LTS и выше:
> SELECT i.*, 'Spark SQL'
FROM inline(array(struct(1, 'a'), struct(2, 'b'))) AS i;
1 a Spark SQL
2 b Spark SQL
> SELECT i1.*, i2.*, 'Spark SQL'
FROM inline(array(struct(1, 'a'), struct(1, 'b'))) AS i1,
inline(array(struct('c', 1.0), struct('d', 2.0))) AS i2;
1 a c 1.0 Spark SQL
1 b c 1.0 Spark SQL
1 a d 2.0 Spark SQL
1 b d 2.0 Spark SQL