explode_outer表值函数发生器<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/functions/#explode_outer-table-valued-generator-function" title="">

适用于:检查标记是的砖的SQL检查标记是的砖运行时

返回一组由un-nesting行expr使用外部语义。

语法<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/functions/#syntax" title="">

explode_outer(expr)

参数<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/functions/#arguments" title="">

  • expr:数组或地图表达。

返回<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/functions/#returns" title="">

一组行组成的数组的元素或地图的键和值。产生的列explode_outer一个数组是命名上校。列的映射称为关键价值

如果expr一行与年代的数组或映射值。

  • 适用于:检查标记是的砖12.1和更早的运行时:

    explode_outer只能放在选择列表作为根一个表达式或后<一个class="reference internal" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/sql-ref-syntax-qry-select-lateral-view.html">侧面图。当把函数选择必须没有其他生成器函数的列表是一样的选择列表或<一个class="reference internal" href="//www.neidfyre.com/docs.gcp/spark/latest/error-messages/unsupported-generator-error-class.html">UNSUPPORTED_GENERATOR.MULTI_GENERATOR是提高。

  • 适用于:检查标记是的砖的SQL检查标记是的砖运行时12.2及以后:

    调用的<一个class="reference internal" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/sql-ref-syntax-qry-select-lateral-view.html">侧面图条款或者是选择列表是弃用。相反,调用explode_outer作为一个<一个class="reference internal" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/sql-ref-syntax-qry-select-table-reference.html">table_reference

例子<一个class="headerlink" href="//www.neidfyre.com/docs.gcp/spark/latest/spark-sql/language-manual/functions/#examples" title="">

适用于:检查标记是的砖12.1和更早的运行时:

>选择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_GENERATORMULTI_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