sql—如何在impala的Dataframe中查询选择结构列数组的结构?

c2e8gylq  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(393)

我如何查询以选择“packets”列中数组“details”中的length(int)?希望随附的图片能比我解释得更好!
我试过了 SELECT packets.details.length FROM test.ssh_data 这是行不通的。
这会导致以下错误:

illegal column/field reference 'packets.details.length' with intermediate collection 'details' of type 'ARRAY<STRUCT<datestamp:STRING,length:INT>>

提前谢谢!

t8e9dugd

t8e9dugd1#

在impala嵌套类型支持中,数组和Map被视为嵌套表。您需要在from子句中引用它们来取消对它们的注解。在这种情况下,可以将数组添加到from子句中,注意通过 sd ,它所在表的别名。例如

SELECT d.length FROM test.ssh_data sd, sd.packets.details d

相关问题