[HADOOP] Hive의 쉼표로 구분 된 값의 열
HADOOPHive의 쉼표로 구분 된 값의 열
그것은 물어 봤는데 대답 (구분 기호로 쉼표로 여러 행을 하나로 변환), 하이브, 예를 들어 언급 된 접근 방식 중 하나에서 작동합니다. 이걸로 가야 겠어.
+------+------+
| Col1 | Col2 |
+------+------+
| a | 1 |
| a | 5 |
| a | 6 |
| b | 2 |
| b | 6 |
+------+------+
이에:
+------+-------+
| Col1 | Col2 |
+------+-------+
| a | 1,5,6 |
| b | 2,6 |
+------+-------+
해결법
-
==============================
1.집계 함수 collect_set은 여러분이 얻으려고하는 것을 얻을 수 있습니다. 다음은 문서입니다. 따라서 다음과 같은 쿼리를 작성할 수 있습니다.
집계 함수 collect_set은 여러분이 얻으려고하는 것을 얻을 수 있습니다. 다음은 문서입니다. 따라서 다음과 같은 쿼리를 작성할 수 있습니다.
SELECT Col1, collect_set(Col2) FROM your_table GROUP BY Col1;
그러나 MySQL의 GROUP BY와 Hive의 collect_set 간에는 하나의 현저한 차이가 있습니다. GROUP_CONCAT도 결과 배열에 중복을 유지하지만 collect_set은 배열에서 발생하는 중복을 제거합니다. 표시된 예제에서 Col2에 대한 반복 그룹 값이 없으므로 계속해서 사용할 수 있습니다.
-
==============================
2.전체 목록 (중복 포함)을 취할 collect_list가 있습니다.
전체 목록 (중복 포함)을 취할 collect_list가 있습니다.
-
==============================
3.이 시도
이 시도
SELECT Col1, concat_ws(',', collect_set(Col2)) as col2 FROM your_table GROUP BY Col1;
apache.org documentation
from https://stackoverflow.com/questions/22705398/column-to-comma-separated-value-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 매번 bash_profile을 소스 화해야하는 이유는 무엇입니까? (0) | 2019.07.12 |
---|---|
[HADOOP] Hadoop의 시퀀스 파일 (0) | 2019.07.12 |
[HADOOP] hadoop 작업 트래커 시작 오류 (0) | 2019.07.12 |
[HADOOP] Hadoop에서의 RecordReader 작업 (0) | 2019.07.12 |
[HADOOP] aws의 스파크 스텝 종료 (0) | 2019.07.12 |