복붙노트

[HADOOP] 하이브 외부 테이블은 HDFS의 새로운 마루 파일을 검색 할 수 있습니다

HADOOP

하이브 외부 테이블은 HDFS의 새로운 마루 파일을 검색 할 수 있습니다

나는 스파크와 함께 번들로 하이브를 사용하고 있습니다. 내 스파크 스트리밍 작업이 /hdfs/nodes/part-r-$partition_num-$job_hash.gz.parquet의 형태, 배치 작업 당 HDFS에 250 개 엔 나무 마루 파일을 작성합니다. 이 위치하지만, 그것은을 포함하도록 업데이트되지 않습니다이 1 일 후, 나는 HDFS에 250 개 파일이 있고,이 후, 나는 내 외부 하이브 테이블 (500)을 가지고 있다는 것을 의미, 마루를 사용하여 작성은 / HDFS / 노드 포인트 I 후 새 파일의 데이터가 프로그램을 다시 실행하십시오.

하이브 외부 테이블은 테이블이 만들어진 경우가 있었다 기존 파일에 테이블에 새 파일 또는 업데이트 만 포함합니까?

또한 하이브를 사용하여 자동으로 업데이트하는 테이블에 대해 내 관련 질문을 참조하십시오.

해결법

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

    1.당신은 REFRESH 테이블 _ 이름 또는 INVALIDATE METADATA 실행해야 [DB_NAME을.] TABLE_NAME] 명령은 너무 하이브 메타 데이터는 그 새 파일을 포함하도록 업데이트됩니다.

    당신은 REFRESH 테이블 _ 이름 또는 INVALIDATE METADATA 실행해야 [DB_NAME을.] TABLE_NAME] 명령은 너무 하이브 메타 데이터는 그 새 파일을 포함하도록 업데이트됩니다.

    이 솔루션은 임팔라 실행을 가정합니다.

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

    2.이 해킹의 비트,하지만 난 결국 새로운 파티션은 생성 된 후 새 파티션을 감지 MSCK 수리 표 TABLENAME을 사용하여 새 파일을 검색하는 하이브셨어요.

    이 해킹의 비트,하지만 난 결국 새로운 파티션은 생성 된 후 새 파티션을 감지 MSCK 수리 표 TABLENAME을 사용하여 새 파일을 검색하는 하이브셨어요.

    나는 새 파티션을 내가 하이브에서 원하는 새 파일이 각 시간을 만들 필요가 이것은 원래 문제가 해결되지 않지만, 나를 앞으로 나아갈 수있었습니다.

  3. from https://stackoverflow.com/questions/32276177/can-a-hive-external-table-detect-new-parquet-files-in-hdfs by cc-by-sa and MIT license