【问题标题】:How to compare complex data type columns in hive如何比较 Hive 中的复杂数据类型列
【发布时间】:2017-05-03 02:24:03
【问题描述】:

我在 hive 中有一个 test 表,其架构如下。我想选择 a 和 b 相等的所有 id,怎么做?
hive 中是否存在任何支持地图数据类型比较的内置功能?

表 DDL:

CREATE TABLE test(id string,
a map<int,string>,
b map<int,string>)

由于等于运算符只支持原始类型,因此下面的 sql 会抛出错误:

select id from test where a=b;

参数类型不匹配“a”:EQUAL 的第一个参数应为 原始类型,但找到了地图


注意:我可以使用我自己的 UDF 来实现这一点,但我正在寻找 hive 是否提供任何内置功能来支持此类操作?

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:
    select id from test where a in (b);
    

    【讨论】:

    • 感谢它的工作。你能解释一下 hive a in (b) 的内部翻译吗?
    • 我不明白这个问题。这个和x in (1,2,3)基本没什么区别@
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多