복붙노트

[HADOOP] 하이브 고장 파이프 오류

HADOOP

하이브 고장 파이프 오류

나는 하이브 쿼리가 포함 된 프로젝트를 연구하고 있습니다.

처음에는 많은 양의 더미 데이터를로드 할 때까지 모든 것이 잘 작동합니다. 일부 필드에서 약간의 변형을 사용하여 동일한 레코드를 작성합니다. 그 후에 우리는 이것을 다시 실행하고 많은 정보없이 파이프 오류가 발생합니다. 오류에 대한 로그가 없으며 IOException : 파이프 오류가 발생했습니다. . . .

스크립트를 단순화하고 오류를 분리하기 위해 스크립트를 다음과 같이 수정합니다.

for line in sys.stdin.readlines():
    print line

해당 수준에서 오류를 피하기 위해. 여전히 같은 오류가 있습니다.

해결법

  1. ==============================

    1.다른 쿼리에서 많은 조인을 분할하고 중간 테이블을 사용하면 문제가 해결되는 것 같습니다. 그런 다음 모든 이전 결과를 요약하는 마지막 조인으로 최종 쿼리를 추가하기 만하면됩니다. 내가 이해했듯이 스크립트 수준에서는 오류가 없지만 하이브로 처리하기에는 너무 많은 데이터가 있음을 의미합니다.

    다른 쿼리에서 많은 조인을 분할하고 중간 테이블을 사용하면 문제가 해결되는 것 같습니다. 그런 다음 모든 이전 결과를 요약하는 마지막 조인으로 최종 쿼리를 추가하기 만하면됩니다. 내가 이해했듯이 스크립트 수준에서는 오류가 없지만 하이브로 처리하기에는 너무 많은 데이터가 있음을 의미합니다.

  2. ==============================

    2.이에 대한 또 다른 해결 방법은 변환을 제거하고 변환을 실행하는 다른 테이블에 데이터를 삽입하는 새 쿼리를 생성하는 것입니다. 나는 왜 긁힘이 올바른지 100 % 확신하지 못합니다. 많은 조인으로 인해 문제가 실제로 대량의 데이터로 스트리밍 될 수 있다고 생각합니다.

    이에 대한 또 다른 해결 방법은 변환을 제거하고 변환을 실행하는 다른 테이블에 데이터를 삽입하는 새 쿼리를 생성하는 것입니다. 나는 왜 긁힘이 올바른지 100 % 확신하지 못합니다. 많은 조인으로 인해 문제가 실제로 대량의 데이터로 스트리밍 될 수 있다고 생각합니다.

  3. from https://stackoverflow.com/questions/13730119/hive-broken-pipe-error by cc-by-sa and MIT license