侧视图外部爆炸蜂巢到雪花

lateral view outer explode hive to snowflake

雪花中的这个 Hive 查询等效于什么?

横向视图外部分解应该为每个不同的记录集创建一个包含 'a' 和 'b' 的列。

select
     o.*,
     domain
   from
     (
       select distinct group, program, track
       from my_snowflake_table
     ) o
     lateral view outer explode(
       array(
         'a',
         'b'
       )
     ) wt as domain

select distinct x."GROUP", x.program, x.track, z.value
from my_snowflake_table as x, lateral SPLIT_TO_TABLE('a.b', '.') as z

该示例使用静态数组('a','b'),因此可以使用 CROSS JOIN 进行转换:

select distinct x."GROUP", x.program, x.track, z.domain
from my_snowflake_table as x
CROSS JOIN (VALUES ('a'), ('b')) z(domain);