如何在hive中分配数组并查找数组的大小?

时间:2016-12-08 14:14:37

标签: arrays hadoop syntax hive

假设我将输入字符串作为来自用户的多个参数。

e.g

hive -f demo.txt -hiveconf Name="a,b,c,d"

我想通过使用SPLIT函数拆分字符串来在WHERE子句中传递这些值(Names)。

set a=SPLIT('${hiveconf:Name}',',');

但是SPLIT的输出是一个数组。

所以我的问题是如何在WHERE子句中分配数组?

e.g。

WHERE Name IN (${hiveconf:a}[0:?])

谢谢。

2 个答案:

答案 0 :(得分:0)

您应该使用array_contains UDF:

var storeToDatabase = function(username) {
  // here you call a backend endpoint with some library like superagent
}

<Header store={ storeToDatabase } />

// and then in your Header.jsx component
handleSubmit(event) {
 var fname = this.refs.fname.value;

 this.props.store({ fname });
}

答案 1 :(得分:0)

你可以尝试这样的名字输入(选择SPLIT('1,2,3',','))