복붙노트

[HADOOP] Hive에서 1 개의 거대한 파일 / 테이블 스캔을 최적화하여 위의 긴 점이 wkt 기하학 모양에 포함되어 있는지 확인 / 확인하는 방법

HADOOP

Hive에서 1 개의 거대한 파일 / 테이블 스캔을 최적화하여 위의 긴 점이 wkt 기하학 모양에 포함되어 있는지 확인 / 확인하는 방법

나는 현재 장치에서 ZIP 코드로 각각의 long long ping을 연결하려고합니다.

나는 long long 디바이스 ping 데이터를 de-normalized하고 각 행에 ST_Point (long, lat), geometry_shape_of_ZIP 및 해당 지오메트리와 연관된 zip 코드가있는 교차 제품 / 데카르트 제품 조인 테이블을 작성했습니다. 테스트 목적으로 나는 테이블에 약 4 천 5 백만 행을 가지며 매일 약 10 억 개의 생산으로 증가 할 것입니다.

데이터가 병합되고 조인 조건이 없어도 쿼리를 완료하는 데 약 2 시간이 걸립니다. 공간 쿼리를 계산하는 더 빠른 방법이 있습니까? 또는 다음 쿼리를 어떻게 최적화 할 수 있습니까?

인라인은 이미 수행 한 최적화 단계 중 일부입니다. 최적화를 사용하면 다른 모든 작업은이 한 단계를 제외하고 최대 5 분 내에 완료됩니다. aws 클러스터 2 mater 노드와 5 데이터 노드를 사용하고 있습니다.

set hive.vectorized.execution.enabled = true;

set hive.execution.engine=tez;

set hive.enforce.sorting=true;

set hive.cbo.enable=true;

set hive.compute.query.using.stats=true;

set hive.stats.fetch.column.stats=true;

set hive.stats.fetch.partition.stats=true;

analyze table tele_us_zipmatch compute statistics for columns;

CREATE TABLE zipcheck (

`long4` double,

`lat4` double,

state_name string,

country_code string,

country_name string, region string,

zip int,

countyname string) PARTITIONED by (state_id string)

STORED AS ORC TBLPROPERTIES ("orc.compress" = "SNAPPY",

'orc.create.index'='true',

'orc.bloom.filter.columns'='');

INSERT OVERWRITE TABLE zipcheck PARTITION(state_id)

select long4, lat4, state_name, country_code, country_name, region, zip, countyname, state_id from tele_us_zipmatch

where ST_Contains(wkt_shape,zip_point)=TRUE;

ST_Contains는 esri (ref : https://github.com/Esri/spatial-framework-for-hadoop/wiki/UDF-Documentation#relationship-tests)의 함수입니다.

어떤 도움이라도 대단히 감사하겠습니다.

감사.

해결법

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

    1.ZIP 코드 데이터 세트가 메모리에 들어갈 수있는 경우, GIS-Tools-for-in-One에서 샘플을 채택하여 ZIP 코드 데이터에 JIT (just-in-time) 메모리 내 쿼드 트리 색인을 사용하는 사용자 정의 Map-Reduce 응용 프로그램을 시험해보십시오. 하둡.

    ZIP 코드 데이터 세트가 메모리에 들어갈 수있는 경우, GIS-Tools-for-in-One에서 샘플을 채택하여 ZIP 코드 데이터에 JIT (just-in-time) 메모리 내 쿼드 트리 색인을 사용하는 사용자 정의 Map-Reduce 응용 프로그램을 시험해보십시오. 하둡.

    [협력자]

  2. from https://stackoverflow.com/questions/38963487/how-to-optimize-scan-of-1-huge-file-table-in-hive-to-confirm-check-if-lat-long by cc-by-sa and MIT license