[HADOOP] Hive에서 'InputFormat, OutputFormat'및 'Stored as'의 차이점은 무엇입니까?
HADOOPHive에서 'InputFormat, OutputFormat'및 'Stored as'의 차이점은 무엇입니까?
Im Bigdata에 새로 왔고 현재 Hive를 배우고 있습니다. 나는 SerDe의 일부로 Hive에서 InputFormat & OutputFormat의 개념을 이해했습니다. 또한 'Stored as'는 InputFormat과 같은 특정 형식으로 파일을 저장하는 데 사용된다는 것을 알고 있습니다. 그러나 나는 'InputFormat, OutputFormat'& 'Stored as'를 사용하는 것의 중요한 차이점을 이해하지 못합니다.
어떤 도움을 주셔서 감사합니다.
해결법
-
==============================
1.Hive에는 데이터 저장 방법에 대한 다양한 옵션이 있습니다. Hive가 다른 장소에서 일부 데이터를 래핑하는 외부 저장소를 사용하거나 하이브웨어 하우스의 시작 부분에서 독립 실행 형 테이블을 만들 수 있습니다. 입력 및 출력 형식을 사용하면이 두 유형의 테이블의 원래 데이터 구조 또는 데이터를 실제로 저장하는 방법을 지정할 수 있습니다. 클라이언트 측에서는 sql을 사용하여 테이블 작업을 계속할 것이지만 낮은 수준에서는 텍스트 파일이나 시퀀스 파일 또는 hbase 테이블 또는 다른 데이터 구조가됩니다.
Hive에는 데이터 저장 방법에 대한 다양한 옵션이 있습니다. Hive가 다른 장소에서 일부 데이터를 래핑하는 외부 저장소를 사용하거나 하이브웨어 하우스의 시작 부분에서 독립 실행 형 테이블을 만들 수 있습니다. 입력 및 출력 형식을 사용하면이 두 유형의 테이블의 원래 데이터 구조 또는 데이터를 실제로 저장하는 방법을 지정할 수 있습니다. 클라이언트 측에서는 sql을 사용하여 테이블 작업을 계속할 것이지만 낮은 수준에서는 텍스트 파일이나 시퀀스 파일 또는 hbase 테이블 또는 다른 데이터 구조가됩니다.
InputFormat 및 OutputFormat - 원본 데이터 구조를 설명하여 하이브가 테이블 뷰에 올바르게 매핑 할 수 있도록합니다.
SerDe - 테이블 뷰로부터 저레벨의 입출력 포맷 구조에의 데이터의 실제의 변환을 실시하는 클래스를 나타내, 그 반대의
일반적으로 프로세스는 다음과 같습니다. HDFS 파일 -> InputFileFormat -> 디시리얼라이저 -> 행 개체 -> Serializer -> OutputFileFormat -> HDFS 파일
Stored as - 하이브의 새로운 테이블에 대한 입력 및 출력 형식을 포함하는 저장 형식을 지정합니다.
이러한 속성은 실제로 성능, 전체 크기, 데이터 스키마 진화 지원에 영향을 주거나 ACID와 같은 기능을 활성화 할 수 있습니다. 이 기사에 설명 된 단계에 따라 낮은 수준에서 작동하는 것을 확인하고 가장 일반적으로 사용되는 형식에 대한 일반 정보를 얻을 수 있습니다. https://oyermolenko.blog/2017/02/16/structuring-hadoop-data- through-hive-and-sql
from https://stackoverflow.com/questions/42416236/what-is-the-difference-between-inputformat-outputformat-stored-as-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 2017 년 OS X에서 소스에서 Apache Hadoop 빌드 (0) | 2019.06.19 |
---|---|
[HADOOP] Hadoop 에코 시스템 용 호스트 파일을 구성하는 방법 (0) | 2019.06.19 |
[HADOOP] ArrayWritable을 사용한 직렬화가 재미있는 방식으로 작동하는 것 같습니다. (0) | 2019.06.19 |
[HADOOP] Hive 컴파일러가 생성 한 MapReduce 작업 소스 코드는 어떻게 얻을 수 있습니까? (0) | 2019.06.19 |
[HADOOP] Hadoop dfs 복제 (0) | 2019.06.18 |