【问题标题】:hive syntax for returning arrays and structs用于返回数组和结构的配置单元语法
【发布时间】:2016-03-30 14:54:58
【问题描述】:

我需要一个返回数组和结构的查询。我试过了:

select Array(1) from my_table limit 1;

它可以工作,但会出现一些错误:

错误优化器.ConstantPropagateProcFactory:无法评估 org.apache.hadoop.hive.ql.udf.generic.GenericUDFArray@11bd210b。返回 价值无法辨认。

结构相同:

select Struct(1,2) from my_table limit 1;

工作并返回

{"col1":1,"col2":2}

如何设置列名?

它也会打印一个错误

错误优化器.ConstantPropagateProcFactory:无法评估 org.apache.hadoop.hive.ql.udf.generic.GenericUDFStruct@1d04de1f。 返回值无法识别。

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    您需要指定列名或选择 * 才能返回表中的实际列和数据。

    select Array(*) from yourTableName limit 1;
    select Array(field1,field2) from yourTableName limit 1;
    select Struct(*) from yourTableName limit 1;
    select Struct(field1,field2) from yourTableName limit 1;
    

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 2020-12-04
      • 2014-06-02
      • 2013-08-02
      • 2019-05-12
      相关资源
      最近更新 更多