복붙노트

[HADOOP] 어떻게 하이브 버킷에 작품을 해싱?

HADOOP

어떻게 하이브 버킷에 작품을 해싱?

그래서 해시는 하이브에 대해 어떻게 작동하는지 우리가 여러 통의 데이터를 버킷 동안 것을 알고 싶어, 자바 HashMap에 대한 해시 주체를 알고있다.

해결법

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

    1.나는 최근 자신이이를 알아 내기 위해 일부 하이브 소스 코드에 파고했다. 여기에 내가 무엇을 발견 :

    나는 최근 자신이이를 알아 내기 위해 일부 하이브 소스 코드에 파고했다. 여기에 내가 무엇을 발견 :

    정수 필드의 경우, 해시는 정수 값입니다. 문자열의 경우, 자바의 문자열 해시 코드의 유사한 버전을 사용합니다. 여러 값을 해시하면, 해시는 자바의 목록 해시 코드의 유사한 버전입니다.

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

    2.버킷 팅은 향후 분석을 위해 더 분해 된 구조로 분할과 함께 사용됩니다. 더 많은 파티션이 네임 노드 성능에 영향을 미칠 수 있습니다 더 HDFS 파일에 그 결과, 우리는 버킷 팅에 의존. 실제로 작동하는 방식의 버킷 팅은 다음과 같습니다 버킷의 수는 hashFunction에 의해 결정된다 (bucketingColumn) 모드 numOfBuckets numOfBuckets는 파티션으로 테이블을 생성 할 때 선택합니다. 해시 함수의 출력은 칼럼 선택이 끝난의 종류에 따라 달라진다. 정확하게 데이터를 적절히 버킷 동안 감속기의 수를 설정하고 착륙하기 위해, 우리는 "hive.enforce.bucketing = true"를 사용합니다. 자세한 내용은 이쪽을 참조하십시오

    버킷 팅은 향후 분석을 위해 더 분해 된 구조로 분할과 함께 사용됩니다. 더 많은 파티션이 네임 노드 성능에 영향을 미칠 수 있습니다 더 HDFS 파일에 그 결과, 우리는 버킷 팅에 의존. 실제로 작동하는 방식의 버킷 팅은 다음과 같습니다 버킷의 수는 hashFunction에 의해 결정된다 (bucketingColumn) 모드 numOfBuckets numOfBuckets는 파티션으로 테이블을 생성 할 때 선택합니다. 해시 함수의 출력은 칼럼 선택이 끝난의 종류에 따라 달라진다. 정확하게 데이터를 적절히 버킷 동안 감속기의 수를 설정하고 착륙하기 위해, 우리는 "hive.enforce.bucketing = true"를 사용합니다. 자세한 내용은 이쪽을 참조하십시오

  3. from https://stackoverflow.com/questions/30594038/how-hashing-works-in-bucketing-for-hive by cc-by-sa and MIT license