[HADOOP] HDFS 변경 사항이있는 Hive 외부 테이블 업데이트
HADOOPHDFS 변경 사항이있는 Hive 외부 테이블 업데이트
말하자면, myFile.csv 파일 (HDFS에 있음)에서 Hive 외부 테이블 "myTable"을 만들었습니다.
myFile.csv가 매일 바뀌면 "myTable"을 하루에 한 번 업데이트하는 데 관심이 있습니다.
매일 테이블을 업데이트하라는 HiveQL 쿼리가 있습니까?
고맙습니다.
추신
내가 디렉토리와 같은 방식으로 작동하는지 알고 싶습니다 : "myDir"에 10 개의 파일이 들어있을 때 HDFS 디렉토리 "myDir"에서 하이브 파티션을 만듭니다. 다음날 "myDIr"에는 20 개의 파일이 포함됩니다 (10 개의 파일이 추가되었습니다). 하이브 파티션을 업데이트해야합니까?
해결법
-
==============================
1.Hive에는 기본적으로 두 가지 유형의 테이블이 있습니다.
Hive에는 기본적으로 두 가지 유형의 테이블이 있습니다.
하나는 테이블 데이터를 생성 할 때마다 하이브 창고가 관리하는 Managed Table이며 내부웨어 하우스에 복사됩니다. 쿼리 결과에는 최신 데이터를 사용할 수 없습니다.
기타는 하이브가 내부웨어 하우스로 데이터를 복사하지 않는 외부 테이블입니다.
따라서 테이블에서 쿼리를 실행할 때마다 파일에서 데이터를 검색합니다.
따라서 쿼리 출력에서 최신 데이터를 가질 수도 있습니다.
그것이 외부 테이블의 목표 중 하나입니다.
테이블을 삭제할 수도 있으며 데이터가 손실되지 않습니다.
-
==============================
2.LOCATION '/path/to/myFile.csv'절을 테이블 create 문에 추가하면 Hive에서 아무 것도 업데이트하지 않아도됩니다. 쿼리에서 항상 최신 버전의 파일을 사용합니다.
LOCATION '/path/to/myFile.csv'절을 테이블 create 문에 추가하면 Hive에서 아무 것도 업데이트하지 않아도됩니다. 쿼리에서 항상 최신 버전의 파일을 사용합니다.
from https://stackoverflow.com/questions/17027853/updating-hive-external-table-with-hdfs-changes by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop 사용자 파일 권한 (0) | 2019.06.28 |
---|---|
[HADOOP] NoSuchMethodError sets.newConcurrentHashSet () hadoop을 사용하여 jar를 실행하는 중 (0) | 2019.06.28 |
[HADOOP] Hive와 Hadoop MapReduce의 관계는 무엇입니까? (0) | 2019.06.28 |
[HADOOP] hadoop에서 MapReduce 작업을 실행하는 동안 콘솔에서 인쇄하는 방법 (0) | 2019.06.28 |
[HADOOP] Hadoop의 Writable 인터페이스를 구현하는 Enum 값 (0) | 2019.06.28 |