glue schema와 다른 데이터가 왔을 때 조치한 썰
·
개발기록/AWS
상황최근에 신규 데이터 요청이 들어왔다. 요청이 올 때 엑셀로 각 컬럼명과 타입 그리고 컬럼설명이 포함되어 온다. RDB가 아닌 테이블이라 다른 요청 사항은 없다. 사용자의 요청대로 생성을 하였고 테스트 데이터를 요청하였다. 그런데 요청한 측에서 타입이 맞지 않다고 했다. 에러내용은 다음과 같았다.awsathena error : HIVE_BAD_DATA Field day's type BINARY in parquet file ${s3_path} is incompatible with type timestamp(3) defined in table schema요약하자면 timestamp 타입을 가진 컬럼이 있는데, 해당 컬럼은 현재 BINARY로 들어와있다는 것이다. 참고로 우리는 최종 데이터를 parquet ..
Glue Cli로 테이블 생성 시 mismatched input 'external' 에러 조치한 썰
·
개발기록/AWS
상황회사에서 테이블 신규 요청이 오면 엑셀로 요청이 온다.그런데 요청 온 엑셀은 가지각색이라 우리의 엑셀 형태에 맞춰서 다시 작성한 뒤 파이썬으로 Hql 파일을 생성한다.평상 시에 잘 사용하던 스크립트였는데, 오늘 실패가 되어 확인해보니 처음 마주했던 에러였다.line 1:8: mismatched input 'external'. expecting: 'or', 'schema', 'table', 'view’원인 파악우리가 생성하는 테이블은 Glue에서 생성하고 location은 S3로 되어있다.그래서 external을 사용한다.external 키워드를 뺄 문제가 아니다.그러면 무엇이 문제일까?사용자에게 받은 엑셀에서 컬럼명, 컬럼 타입, 컬럼설명은 그대로 붙혀넣었기 때문에 이 3가지를 중점으로 먼저 체크했다..