Tôi muốn nhóm theo một trường nhất định và nhận đầu ra với các trường được nhóm. Dưới đây là một ví dụ về những gì tôi đang cố gắng để đạt được: -Làm thế nào để có được mảng/túi của các phần tử từ nhóm Hive bởi nhà điều hành?
Hãy tưởng tượng một bảng có tên là 'sample_table' với hai cột như sau: -
F1 F2
001 111
001 222
001 123
002 222
002 333
003 555
Tôi muốn viết Hive Query mà sẽ cung cấp sản lượng dưới đây : -
001 [111, 222, 123]
002 [222, 333]
003 [555]
Trong Pig, điều này có thể rất dễ dàng đạt được bằng một cái gì đó như thế này: -
grouped_relation = GROUP sample_table BY F1;
Ai đó có thể đề nghị nếu có một cách đơn giản để làm như vậy trong Hive? Những gì tôi có thể nghĩ là viết một User Defined Function (UDF) cho điều này nhưng điều này có thể là một lựa chọn rất tốn thời gian.
Trong Hive 0,13 có chức năng 'collect_list' sẽ trả về bản sao. –