【发布时间】:2015-10-08 18:24:22
【问题描述】:
我有一个数据集,其中有一列带有一组时间戳,一列只有一个时间戳。我正在寻找使用 c1 时间戳作为更大和更小的条件来获取数组的大小。
表(my_table):
c1 | c2 |
----------------------------|
4 | [1,2,3,4,5,6,7,8,9,10] |
1 | [1,2,3,4,5,6,7,8,9,10] |
5 | [1,2,3,4,5,6,7,8,9,10] |
3 | [1,2,3,4,5,6,7,8,9,10] |
查询:
select
c1,
c2,
size(some_udf_split_on_c1(sort_array(<array>), c1)[1]) AS smaller_than_c1
size(some_udf_split_on_c1(sort_array(<array>), c1)[2]) AS larger_than_c1
from my_table
那里的udf是我假设的实现。
输出:
c1 | c2 | smaller_than_c1 | larger_than_c1
----------------------------|-----------------|---------------
4 | [1,2,3,4,5,6,7,8,9,10] | 3 | 6
1 | [1,2,3,4,5,6,7,8,9,10] | 0 | 9
5 | [1,2,3,4,5,6,7,8,9,10] | 4 | 5
3 | [1,2,3,4,5,6,7,8,9,10] | 1 | 8
【问题讨论】:
-
你的代码在哪里??
-
我没有该功能的代码,我正在寻求帮助。你真的需要我写简单的选择语句吗?
-
我以一种非常传统的堆栈溢出方式询问如何完成该任务。如果它需要一个自定义的 udf,那么所有人所要做的就是说“这将需要编写一个自定义的 udf”。如果存在可以完成任务的现有 udf,只需将我指向这些 udf 会有所帮助。通过共享某个主题的信息和专业知识来帮助他人不是堆栈溢出。 @GoBrewers14 不确定您如何建设性地做出贡献,至少 GaneshThiagarajan 要求提供一些帮助改进帖子的内容。
标签: java arrays hadoop hive udf