我的数据有两个数组(可能有不同的大小),如下所示:
{
"depotCode":"0001",
"in":[
{
"partCode":"AX-01",
"qty":15
},
{
"partCode":"AX-02",
"qty":77
},
{
"partCode":"AX-03",
"qty":100
} ],
"out":[
{
"partCode":"AX-01",
"qty":7
},
{
"partCode":"TB-77",
"qty":5
}
]
}
预期结果如下:
depotCode,partCode,in,out
0001,AX-01,15,7
0001,AX-02,77,0
0001,AX-03,100,0
0001,TB-77,0,5
什么是有效的hive查询? 如果您注意到,由于AX-01同时出现在“in”和“out”中,因此两个字段的值都不为零。 至于另一个,任何一个都是零
PS:如果可能的话,我需要在单个查询中完成并且有效率,因为我们已经有超过10亿行(因此应该避免使用可能很慢的子查询,除非子查询在蜂巢或火花等方面不是很慢)等等)
答案 0 :(得分:0)
@srilanka_ratnapura; use concat_ws function
here is a documentation about it: http://www.folkstalk.com/2011/11/string-functions-in-hive.html
Example:
select concat_ws(',', col1, col2, col3, col4) from tbl
Returns:
col1,col2,col3,col4
Hope this helps. Thanks.