inline_outer دالة منشئ قيم الجدول

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime

ينفجر صفيف من البنيات في جدول مع OUTER دلالات.

بناء الجملة

inline_outer(expr)

الوسيطات

  • expr: تعبير ARRAY < STRUCT > .

مجموعة من الصفوف المكونة من الحقول في عناصر البنية للصفيف expr. الأعمدة التي ينتجها inline هي أسماء الحقول.

NULL إذا كان expr صفا واحدا مع NULLs لكل عمود يتم إنتاجه.

  • ينطبق على:وضع علامة Databricks Runtime 12.1 والإصدارات السابقة:

    inline_outer يمكن وضعها فقط في SELECT القائمة كجذر لتعبير أو اتباع طريقة عرض LATERAL. عند وضع الدالة في SELECT القائمة، يجب ألا تكون هناك دالة مولد أخرى في نفس SELECT القائمة أو UNSUPPORTED_GENERATOR. يتم رفع MULTI_GENERATOR.

  • ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 12.2 LTS وما فوق:

    يتم إهمال الاستدعاء من عبارة LATERAL VIEW أو SELECT القائمة. بدلا من ذلك، استدع inline_outer ك table_reference.

الأمثلة

ينطبق على:وضع علامة Databricks Runtime 12.1 والإصدارات السابقة:

> SELECT inline_outer(array(struct(1, 'a'), struct(2, 'b'))), 'Spark SQL';
 1  a Spark SQL
 2  b Spark SQL

> SELECT inline_outer(array(struct(1, 'a'), struct(1, 'b'))),
         inline_outer(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_outer(array(struct(1, 'a'), struct(2, 'b'))) AS i;
 1  a Spark SQL
 2  b Spark SQL

> SELECT i1.*, i2.*, 'Spark SQL'
   FROM  inline_outer(array(struct(1, 'a'), struct(1, 'b'))) AS i1,
         inline_outer(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