각 Amazon S3 포함 경로에 대해 단일 스키마 생성
기본적으로 크롤러가 Amazon S3에 저장된 데이터용 테이블을 정의하면 데이터 호환성과 스키마 유사성을 모두 고려합니다. 고려되는 데이터 호환성 요인에는 데이터가 동일 포맷(예: JSON), 동일 압축 포맷(예: GZIP), Amazon S3 경로의 구조 및 기타 데이터 속성인지 여부가 포함됩니다. 스키마 유사성은 개별 Amazon S3 객체의 스키마가 얼마나 근접하게 유사한지를 측정합니다.
이 옵션의 이해를 돕기 위해 포함 경로가 s3://bucket/table1/
인 크롤러를 정의한다고 가정해 보겠습니다. 이 크롤러는 실행 시 다음과 같은 특성을 가진 JSON 파일 두 개를 찾습니다.
-
파일 1 –
S3://bucket/table1/year=2017/data1.json
-
파일 내용 –
{“A”: 1, “B”: 2}
-
스키마 –
A:int, B:int
-
파일 2 –
S3://bucket/table1/year=2018/data2.json
-
파일 내용 –
{“C”: 3, “D”: 4}
-
스키마 –
C: int, D: int
스키마가 충분히 비슷하지 않으므로 기본적으로 크롤러가 year_2017
및 year_2018
이라는 두 테이블을 생성합니다. 하지만 Create a single schema for each S3 path(각 S3 경로에 대해 단일 스키마 생성) 옵션을 선택했으며 데이터가 호환되는 경우, 크롤러가 한 개 테이블을 생성합니다. 이 테이블에는 A:int,B:int,C:int,D:int
및 partitionKey
year:string
이라는 스키마가 있습니다.