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

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

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

بناء الجملة

inline(expr)

الوسيطات

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

المرتجعات

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

إذا expr لم يتم NULL إنتاج صفوف.

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

    inline يمكن وضعها فقط في SELECT القائمة كجذر لتعبير أو اتباع طريقة عرض LATERAL. عند وضع الدالة في 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