[HADOOP] S3 위치로 하이브에 외부 테이블을 만들면 데이터가 전송됩니까?
HADOOPS3 위치로 하이브에 외부 테이블을 만들면 데이터가 전송됩니까?
Amazon S3 소스 위치가있는 Hive (Hadoop)의 외부 테이블을 만들 때 로컬 Hadoop HDFS로 전송되는 데이터는 다음과 같습니다.
S3 읽기에 대해 여기에 드는 비용은 얼마입니까? HDFS로 데이터를 전송하는 데 단일 비용이 들거나 데이터 전송 비용이 없지만 Hive에서 만든 MapReduce 작업이이 외부 테이블에서 실행될 때 읽기 비용이 발생합니다.
예제 외부 테이블 정의는 다음과 같습니다.
CREATE EXTERNAL TABLE mydata (key STRING, value INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '='
LOCATION 's3n://mys3bucket/';
해결법
-
==============================
1.지도 작업은 S3에서 직접 데이터를 읽습니다. Map과 Reduce 단계 사이에 데이터가 로컬 파일 시스템에 기록되고 mapreduce 작업 (여러 작업이 필요한 쿼리에서) 사이에 임시 데이터가 HDFS에 기록됩니다.
지도 작업은 S3에서 직접 데이터를 읽습니다. Map과 Reduce 단계 사이에 데이터가 로컬 파일 시스템에 기록되고 mapreduce 작업 (여러 작업이 필요한 쿼리에서) 사이에 임시 데이터가 HDFS에 기록됩니다.
S3 읽기 비용이 걱정된다면 HDFS에 저장된 다른 테이블을 만들고 S3 테이블에서 HDFS 테이블로 한 번 복사하는 것이 좋습니다.
-
==============================
2.쿼리 (MR 작업)가 데이터에 액세스 할 때 데이터가 hadoop 노드로 전송됩니다. 외부 테이블 만들기는 Hive 메타 데이터 만 변경하고 절대로 실제 데이터를 이동하지 마십시오.
쿼리 (MR 작업)가 데이터에 액세스 할 때 데이터가 hadoop 노드로 전송됩니다. 외부 테이블 만들기는 Hive 메타 데이터 만 변경하고 절대로 실제 데이터를 이동하지 마십시오.
from https://stackoverflow.com/questions/13624665/when-you-create-an-external-table-in-hive-with-an-s3-location-is-the-data-transf by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] org.apache.hadoop.fs 패키지가 존재하지 않습니다. (0) | 2019.07.21 |
---|---|
[HADOOP] 작은 파일을위한 HDFS 성능 (0) | 2019.07.21 |
[HADOOP] 하나의 MapReduce 작업 인 하둡을 긁어내어 키로 여러 출력 작성 (0) | 2019.07.21 |
[HADOOP] 예외 : java.lang.Exception : master 'yarn'을 사용하여 실행하는 경우 HADOOP_CONF_DIR 또는 YARN_CONF_DIR을 환경에 설정해야합니다. 스파크에 (0) | 2019.07.21 |
[HADOOP] 아파치 마루로 500GB SQL 테이블을 변환하는 방법? (0) | 2019.07.21 |