explode_outer
表值函數發生器<一個class="headerlink" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/functions/#explode_outer-table-valued-generator-function" title="">
適用於:磚的SQL磚運行時
返回一組由un-nesting行集合
使用外部語義。
因為磚13.3運行時這個函數的支持<一個class="reference internal" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/sql-ref-function-invocation.html">命名參數調用。
語法<一個class="headerlink" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/functions/#syntax" title="">
explode_outer(集合)
參數<一個class="headerlink" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/functions/#arguments" title="">
集合
:一個數組
或地圖
表達式。
返回<一個class="headerlink" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/functions/#returns" title="">
一組行組成的數組的元素或地圖的鍵和值。產生的列explode_outer
一個數組是命名上校
。列的映射稱為關鍵
和價值
。
如果集合
是零
一行與零
年代的數組或映射值。
適用於:磚12.1和更早的運行時:
explode_outer
隻能放在選擇
列表作為根一個表達式或後<一個class="reference internal" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/sql-ref-syntax-qry-select-lateral-view.html">側麵圖。當把函數選擇
必須沒有其他生成器函數的列表是一樣的選擇
列表或<一個class="reference internal" href="//m.eheci.com/docs/spark/latest/error-messages/unsupported-generator-error-class.html">UNSUPPORTED_GENERATOR.MULTI_GENERATOR是提高。適用於:磚的SQL磚運行時12.2及以後:
調用的<一個class="reference internal" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/sql-ref-syntax-qry-select-lateral-view.html">側麵圖條款或者是
選擇
列表是棄用。相反,調用explode_outer
作為一個<一個class="reference internal" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/sql-ref-syntax-qry-select-table-reference.html">table_reference。
例子<一個class="headerlink" href="//m.eheci.com/docs/spark/latest/spark-sql/language-manual/functions/#examples" title="">
適用於:磚12.1和更早的運行時:
>選擇explode_outer(數組(10,20.))作為初步的,“火花”;10火花20.火花>選擇explode_outer(集合= >數組(10,20.))作為初步的,“火花”;10火花20.火花>選擇explode_outer(地圖(1,“一個”,2,“b”))作為(全國礦工工會,瓦爾),“火花”;1一個火花2b火花>選擇explode_outer(投(零作為數組<int>)),“火花”;零火花>選擇explode_outer(數組(1,2)),explode_outer(數組(3,4));錯誤:UNSUPPORTED_GENERATOR。MULTI_GENERATOR
適用於:磚的SQL磚運行時12.2及以後:
>選擇初步的,“火花”從explode_outer(數組(10,20.))作為t(初步的);10火花20.火花>選擇全國礦工工會,瓦爾,“火花”從explode_outer(地圖(1,“一個”,2,“b”))作為t(全國礦工工會,瓦爾);1一個火花2b火花>選擇*從explode_outer(數組(1,2)),explode_outer(數組(3,4));13142324>選擇*從explode_outer(投(零作為數組<int>));零——使用橫向相關性在磚12.2及以上>選擇*從explode_outer(數組(1,2))作為t,橫向explode_outer(數組(3*t。上校,4*t。上校));13142628