0
A
답변
0
이
Select ID, Yes from (
SELECT ID, 'Col1' as 'Yes' where Col1 = 'yes'
UNION ALL
SELECT ID, 'Col2' as 'Yes' where Col2 = 'yes'
UNION ALL
SELECT ID, 'Col3' as 'Yes' where Col3 = 'yes'
UNION ALL
SELECT ID, 'Col4' as 'Yes' where Col4 = 'yes'
UNION ALL
SELECT ID, NULL as 'Yes' where Col1 != 'yes' and Col2 != 'yes' and Col3 != 'yes' and Col4 != 'yes'
) TempTable ORDER BY ID
+0
효율성을 중요시한다면이 솔루션은 절대적인 재앙입니다. – gobrewers14
2
당신은이 작업을 수행 할 brickhouse (http://github.com/klout/brickhouse)에서 conditional_emit
UDF를 사용할 수 있습니다 시도 할 수 있습니다.
SELECT ID, ce.feature as yes
FROM
table
LATERAL VIEW conditional_emit(
ARRAY(col1 = 'yes',
col2 = 'yes',
col3 = 'yes',
col4 = 'yes',
col1 != 'yes' and col2 != 'yes' and col3 != 'yes' and col4 != 'yes'),
ARRAY('col1', 'col2', col3', 'col4', ' ')) c as ce;
conditional_emit
UNION
은 여러 번 통과합니다.
관련 문제
- 1. 자바 시각화 - 자바에서 JTable을 트랜스 포즈하는 방법?
- 2. 다중 플롯을 슈퍼 임 포즈하는 방법
- 3. 트랜스
- 4. 하이브에서 날짜와 시간을 추출하는 방법
- 5. 하이브에서 누적 급여를 계산하는 방법
- 6. 하이브에서 Teradata로 데이터로드
- 7. 아파치 하이브에서 인증
- 8. 트랜스 데이터
- 9. 트랜스 부분?
- 10. 트랜스 행
- 11. 트랜스 덩어리
- 12. 트랜스 목록
- 13. 트랜스 행
- 14. laravel는 {{}() 트랜스}
- 15. C#의 비디오에 이미지 오버레이 또는 슈퍼 임 포즈하는 방법
- 16. 트랜스 노조는 모든 열은 (
- 17. 하이브에서 최대 선택 쿼리를 사용하는 방법
- 18. 하이브에서 부등호 조건이있는 내부 쿼리를 사용하는 방법
- 19. 하이브에서 사용자 정의 함수를 호출하는 방법?
- 20. 하이브에서 유닉스 시대 시간 문자열을 변환하는 방법
- 21. 하이브에서 타임 스탬프 형식을 균일화하는 방법
- 22. 하이브에서 그룹별로 min 함수를 사용하는 방법
- 23. 하이브에서 동시에 여러 쿼리를 제출하는 방법
- 24. 하이브에서 Teradata로 NULL 값 내보내기
- 25. 하이브에서 인덱스 만들기 0.9
- 26. 하이브에서 쿼리가 어떻게 분산됩니까?
- 27. 하이브에서 regexp_extract 사용
- 28. 하이브에서 HDFS로 테이블 복사
- 29. 하이브에서 버켓팅이 작동하지 않습니다.
- 30. 하이브에서 왜곡 계산?
샘플 출력을 공유하십시오. _col1, _col2의 의미는 무엇입니까 –