AWS S3 연동 관련

데이터 덤프 시간은 어떻게 되나요?

수집되는 데이터의 크기에 따라 덤프 처리 시간이 다르기 때문에, 정확한 덤프 시간을 확정적으로 말하긴 어렵습니다. 덤프 완료 시간을 기준으로 시스템 연동 작업을 하시려는 경우 KST 기준 오전 6시 정도에 Batch 작업이 시작되도록 하시는 것을 추천드립니다.

데이터 덤프 경로는 어떻게 되나요?

AWS S3 연동시 웹/앱/트래킹링크 이벤트가 각각 다른 폴더에 날짜별로 저장됩니다.

  • 웹 이벤트: s3://{bucket_name}/{app_name}/web/{version}/date={YYYY-MM-DD}/
  • 앱 이벤트: s3://{bucket_name}/{app_name}/app/{version}/date={YYYY-MM-DD}/
  • 트래킹링크 이벤트: s3://{bucket_name}/{app_name}/tracking-link/{version}/date={YYYY-MM-DD}/

예를 들어, airbridge_data 라는 버킷에 airbridge 앱의 데이터를 덤프하도록 했다면 2020/01/01에 수집된 데이터는 아래의 폴더에 파일들이 덤프됩니다.

  • 웹 이벤트: s3://airbridge_data/airbridge/web/v1.1/date=2020-01-01/
  • 앱 이벤트: s3://airbridge_data/airbridge/app/v1.1/date=2020-01-01/
  • 트래킹링크 이벤트: s3://airbridge_data/airbridge/tracking-link/v1.1/date=2020-01-01/

폴더 내 파일이 여러개입니다.

Raw Data Dump시 수 테라바이트의 데이터를 조회하기 위해, Query 프로세싱을 병렬로 처리합니다. 그 결과 날짜별 폴더에는 128MB 크기 이하의 파일 여러개가 덤프되게 됩니다. 날짜별 폴더안에 있는 파일들은 전부 동일한 포맷(컬럼)의 파일들이므로, 어플리케이션으로 데이터 로드시 폴더 내 모든 파일(*)을 로드하기 위한 처리를 해주시기 바랍니다.

v1.1과 같은 버전은 무슨 의미인가요?

데이터 덤프 경로 내 버전의 구분(ex. v1.1 등)은 에어브릿지에서 컬럼이 추가되거나 변경될 때, 고객사에서 이를 구분하기 위함입니다. 버전 업그레이드시, 연동 고객사에 최소 약 2주 전 버전 업데이트에 대한 안내가 나가게 됩니다.

csv 파일에서 어떤 컬럼이 double-quote(")로 감싸지는 건가요?

기본적으로 rfc4180 규격을 준수합니다.
컬럼값에 개행 문자가 포함된 경우 하나의 row가 csv 파일에서 여러 줄로 보일 수 있습니다. 하지만 double-quote 처리를 잘 해서 데이터를 읽을 경우 문제가 발생하지 않습니다.

v1.2 (2020-09-01 이후 연동)

  • Header의 컬럼들은 항상 Double Quotes(")로 감싸집니다.
  • 문자열 타입의 컬럼은 NULL이 아닐 경우 항상 Double Quotes(")로 감싸집니다. Double Quotes(")가 포함된 문자열일 경우 Double Quotes(")를 Double Quotes(")로 escape 합니다. 개행 문자가 포함된 문자열일 경우 Line Break 후 값이 이어집니다.
  • 숫자 타입(정수형, 실수형)의 컬럼은 Double Quotes(")로 감싸지지 않습니다. NULL 값일 경우 빈 칸이 됩니다.
  • 불리언 타입의 컬럼은 Double Quotes(")로 감싸지지 않습니다. NULL 값일 경우 빈 칸이 됩니다.

케이스별 예시는 다음과 같습니다. 아래 csv 데이터는 1개의 record에 대한 데이터입니다.

"STRING_NORMAL","STRING_EMPTY","STRING_NULL","STRING_HAS_DELIMITER","STRING_HAS_BACKSLASH","STRING_ENDS_WITH_DOUBLE_QUOTE","STRING_ENDS_WITH_BACKSLASH","INT_NORMAL","INT_NULL","FLOAT_NORMAL","FLOAT_NORMAL_TO_STRING","FLOAT_NULL","BOOL_TRUE","BOOL_FALSE","BOOL_NULL","MULTI_LINE","Case sensitive Column name"
"c1","",,"a,b,c","a\b","string_ends_with_double_quote""","string_ends_with_backslash\",123,,4.56,"4.56",,true,false,,"multi
line","column header test"

v1.1 (2020-09-01 이전 연동)

  • Line Breaks(CRLF), Double Quotes("), Commans(,)가 있을때 double-quotes로 감싸지게 됩니다. 자세한 내용은 rfc4180을 참고해주시기 바랍니다. S3 연동되는 csv 파일은 rfc4180 규격을 따릅니다.