如何从struct数组中选择

时间:2014-07-12 19:25:56

标签: sql hive complex-data-types

我正在使用HIVE进行Hadoop。我想从结构中的price字段中选择价格值。但结构是struct数组的一部分。

uid     string
timestamp       int
eventdate       string
products    array<struct
    <internalId:int,
    category:int,
    alternateId:string,
    price:double,
    quantity:int,
    externalId:string>>

我将使用exectued .HQL文件查询,而不是通过终端窗口查询。

(即hive -f blah.hql&gt; blah.txt)

如何从struct的产品数组中选择价格?

- 如果有任何工作,请不要知道其中的哪一项。得到奇怪或无效的输出。

Select  
  table.products.price,  
  table.products[0].price,  
  table.products['price']
from table

1 个答案:

答案 0 :(得分:0)

答案

设备产品[0]。价格

由于struct是数组中的ONLY元素,因此对于表中的给定行。 虽然这可以允许product数组中的未来元素,但是将列JUST作为结构会很好。