Udostępnij za pośrednictwem


inline funkcja generatora wartości tabeli

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Eksploduje tablicę struktur w tabeli.

Składnia

inline(expr)

Argumenty

  • expr: wyrażenie ARRAY<STRUCT> .

Zwraca

Zestaw wierszy składający się z pól w elementach struktury tablicy expr. Kolumny generowane przez inline są nazwami pól.

Jeśli expr nie są NULL generowane żadne wiersze.

  • Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.1 i starsze:

    inline Można umieścić na SELECT liście tylko jako element główny wyrażenia lub po WIDOKU LATERAL. Podczas umieszczania funkcji na SELECT liście nie może istnieć żadna inna funkcja generatora na tej samej SELECT liście lub UNSUPPORTED_GENERATOR. MULTI_GENERATOR jest podniesiona .

  • Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.2 LTS i nowsze:

    Wywołanie z klauzuli LATERAL VIEW lub SELECT lista jest przestarzała. Zamiast tego należy wywołać inline jako table_reference.

Przykłady

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.1 i starsze:

> 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

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 12.2 LTS i nowsze:

> 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