如何在 impala 或 hive 上读取复杂类型数组<string>?
Posted
技术标签:
【中文标题】如何在 impala 或 hive 上读取复杂类型数组<string>?【英文标题】:how to read a complex type array<string> on impala or hive? 【发布时间】:2018-02-23 13:11:59 【问题描述】:我尝试在 hive 上读取复杂类型
dog.owners (array<string>)
使用以下查询
select dog_id, concat_ws(',',collect_set(owners)) as owners
from dog
group by dog_id
但我收到以下错误
Argument 2 of function CONCAT_WS must be "string or array<string>", but "array<array<string>>" was found.
看起来数据类型不匹配。我尝试将列所有者创建为array<array<string>>
,但我仍然遇到相同的错误。
有没有办法在 hive 或 impala 上阅读该专栏?
【问题讨论】:
你想完成什么?样本数据和预期输出会有所帮助。 你不需要collect_set
【参考方案1】:
select dog_id, do.* from dog, dog.owners as do
【讨论】:
以上是关于如何在 impala 或 hive 上读取复杂类型数组<string>?的主要内容,如果未能解决你的问题,请参考以下文章
Parquet 支持的 Hive 表:Impala 中不可查询的数组列
在cm安装的大数据管理平台中集成impala之后读取hive表中的数据的设置(hue当中执行impala的数据查询)
如何使用 impyla 连接到 impala 或使用 pyhive 连接到 hive?