복붙노트

[HADOOP] 하둡에 ElasticSearch 쿼리를 전달하는 방법

HADOOP

하둡에 ElasticSearch 쿼리를 전달하는 방법

나는 하둡에서 검색 할 수 있도록 프로젝트를 진행하고있다. 어떻게 쿼리가 처음과 같이, 그 결과 ID를 다시 SQL에 전달, ES에 전달되어 작동합니다 :

SELECT ... WHERE id in [1,24,383,2912,...]

우리가 SQL 온 하둡에 전달하는 100 개 또는 1000 ID를 가질 때 아니지만 너무 잘 우리가 전달하는 100K 또는 1M + ID를 가지고있는 경우, 잘 작동합니다. 다시 SQL로 ES에서 결과 집합 (ID의 목록을?) 전달하는 몇 가지 다른 방법은 무엇입니까?

해결법

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

    1.별도의 테이블에있는 모든 탄성 검색 ID를 삽입 한 후 소스 테이블로 가입 할 수 있습니다.

    별도의 테이블에있는 모든 탄성 검색 ID를 삽입 한 후 소스 테이블로 가입 할 수 있습니다.

    EG

    CREATE TABLE ELASTIC_SEARCH_ID(id INT);
    
    SELECT ... FROM SOURCE S JOIN ELASTIC_SEARCH_ID ES ON S.ID=ES.ID;
    
  2. from https://stackoverflow.com/questions/42102034/how-to-pass-elasticsearch-query-to-hadoop by cc-by-sa and MIT license