在Hive中,您可以使用函数named_struct来创建键值对列表; 键通常是列名,值是相应列中的值.例如,
$hive> select id, named_struct('foo', name, 'address', address) as list from users;
id list
1 {'foo':'Alice', 'address':'Wonderland'}
2 {'foo':'Bob', 'address':'Portland'}
...
Run Code Online (Sandbox Code Playgroud)
但是,为了制作列表,我需要明确地编写每个列名.有没有办法避免使用其中任何一个named_struct或其他类似功能?
我希望能够写出类似的东西(假设users只有三列).
$hive> select id, named_struct(*) as list from users;
Run Code Online (Sandbox Code Playgroud)