Azure BLOB에 방대한 데이터 세트가 JSON 형식으로 저장되어 있습니다. 일부 앱은 계속해서 새로운 데이터를 추가하고 있습니다. BLOB는 다음과 같은 파티션으로 구성됩니다.방대한 양의 JSON 데이터 세트에 대한 임시 쿼리
/dataset={name}/date={YYYY-MM-DD}/one_or_more_json_files
데이터 조각은 특정 스키마를 따르지 않습니다. JSON 필드 이름의 대소 문자가 일관되지 않습니다. 일부 JSON 행이 손상 될 수 있습니다.
사전에 스키마를 정의하지 않고이 데이터를 쿼리하는 좋은 방법을 조언 해 줄 수 있습니까? 나는 나의 첫 번째 고려 사항은 HIVE했다 테이블
에 대한 명시 적 스키마를 정의하지 않고
select * from my_huge_json_dataset where dataset='mydataset' and date>'2015-04-01'
같은 것을 할 싶습니다하지만 SerDe 스키마를 필요로하는 테이블을 만드는 정의 할 것으로 나타났다. json_tuple은 대답 일 수 있지만 대/소문자를 구분하며 잘못된 json 행을 만난 경우 충돌이 발생합니다.
또한 Apache Drill과 Pig를 고려하고 있지만 경험이 없으므로 지침이 필요합니다.
는 단지 하나의 파일에 분할 또는 쿼리를 지원합니까 귀하의 경우 해당 설명서 사이트 Apache Drill documentation를 방문해 보시기 바랍니다? – irriss
@Ruslan 예 하나의 파일이나 디렉토리를 쿼리 할 수 있습니다 (모든 파일이 매우 유사한 json 구조라고 가정). 또한 데이터를 분할하여 쿼리를 최적화 할 수 있습니다 (이 예제 참조) (https://drill.apache.org/ docs/how-to-partition-data /) –