복붙노트

[HADOOP] 파티셔닝을 통해 임팔라에서 데이터 지역을 제어합니다.

HADOOP

파티셔닝을 통해 임팔라에서 데이터 지역을 제어합니다.

임팔라 노드가 이상적인 데이터 지역성이나 레이아웃이 테이블 생성 시점에 알려진 경우 네트워크를 통해 불필요하게 다른 노드의 데이터를 요청하는 것을 피하고 싶습니다. 이는 파티션의 모든 레코드가 어쨌든 동일한 위치 (노드) (예 : 백분위 수)에 필요한 '비가 산적'연산에 유용합니다.

임팔라에게 파티션의 모든 데이터를 HDFS 복제본의 단일 노드에 항상 배치해야한다고 말할 수 있습니까?

Impala-SQL에서 "PARTITIONED BY"절이이 기능을 제공하는지 확신 할 수 없습니다. 필자는 임팔라가 파티션을 HDFS에서 별도의 파일로 분할하지만 HDFS는 관련 파일이나 블록의 기본 위치를 보장하지 않습니다 (오히려 그 반대를 달성하려고합니다).

임팔라가 HDFS 개발에 미치는 영향에 대한 정보를 찾았지만 이미 구현되었거나 여전히 계획 중인지 확실하지 않습니다.

http://www.slideshare.net/deview/aaron-myers-hdfs-impala (슬라이드 23-24)

모두를 미리 감사드립니다.

해결법

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

    1.언급 한 슬라이드 ( "함께 배치 된 블록 복제본") - Hadoop 2.1에 구현 된 HDFS 기능 (HDFS-2576)에 관한 것입니다. HDFS에 블록을 배치 할 위치에 대한 힌트를 제공하는 Java API를 제공합니다.

    언급 한 슬라이드 ( "함께 배치 된 블록 복제본") - Hadoop 2.1에 구현 된 HDFS 기능 (HDFS-2576)에 관한 것입니다. HDFS에 블록을 배치 할 위치에 대한 힌트를 제공하는 Java API를 제공합니다.

    2014 년 임팔라에서는 사용되지 않았지만 Impala에 기존 MPP 데이터베이스에서 배포 키를 지정하는 것과 동일한 성능을 제공하기 때문에 분명히 기본 토대를 구축하는 것처럼 보입니다.

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

    2.분산 파일 시스템 및 MPP 컴퓨팅의 목적을 완전히 상쇄합니다. 특히 단일 지점 오류와 병목 현상이 발생합니다. 특히 250GB 테이블이 자체적으로 연결되는 경우에 해당됩니다. Hadoop이 해결하도록 고안된 문제와 정확히 일치합니다. 데이터를 파티션하면 namenode에서 HDFS의 하위 디렉토리가 만들어지며 데이터는 클러스터의 데이터 노드 전체에 복제됩니다.

    분산 파일 시스템 및 MPP 컴퓨팅의 목적을 완전히 상쇄합니다. 특히 단일 지점 오류와 병목 현상이 발생합니다. 특히 250GB 테이블이 자체적으로 연결되는 경우에 해당됩니다. Hadoop이 해결하도록 고안된 문제와 정확히 일치합니다. 데이터를 파티션하면 namenode에서 HDFS의 하위 디렉토리가 만들어지며 데이터는 클러스터의 데이터 노드 전체에 복제됩니다.

  3. from https://stackoverflow.com/questions/21797968/control-data-locality-in-impala-by-partitioning by cc-by-sa and MIT license