1. parquet 형식 데이터 준비
먼저 parquet 형식의 데이터를 저장할 FileStorage source에서 사용할 수 있는 Sftp 서버나 오브젝트 스토리지(S3, Google Cloud Storage, Azure Blob Storage)를 준비합니다. 대용량 데이터 쓰기는 Parquet 형식으로 다양한 저장 방법 문서를 참고하여 대용량 데이터를 parquet 형식으로 저장해 놓으세요. 이제 준비 완료입니다.2. parquet 형식의 데이터 불러오기
익숙한 패키지 편집 화면으로 들어가 FileStorage source 컴포넌트를 선택하고, FileStorage source의 세부 설정을 아래를 참고하여 입력하면 parquet 형식의 파일을 불러올 수 있습니다. 항목명 설정값 Connector S3 Bucket 해당 커넥터의 버킷 이름 Path/parquet-output/2020-citibike-tripdata.*.parquet ※ 개인 설정에 맞게 변경해 주세요!
Record delimiter
New Line
Record type
parquet
[


3. 추가 필드 설정하기
Select 컴포넌트를 선택하고 아래와 같은 필드를 추가합니다. Auto-fill 버튼으로 필드를 모두 추가한 후, 마지막 필드로 이동합니다. 필드 오른쪽의+를 클릭하면 새로운 필드가 추가되므로 아래 표에 따라 Expression과 Alias를 그대로 입력합니다.
Expression
Alias
ToString(CurrentTime(), 'yyyy-MM-dd HH:mm:ss')
imported_at_utc
ToString(SwitchTimeZone(CurrentTime(), 'Asia/Seoul'), 'yyyy-MM-dd HH:mm:ss')
imported_at_kst
ToString(SwitchTimeZone(CurrentTime(), 'Asia/Tokyo'), 'yyyy-MM-dd HH:mm:ss')
imported_at_jst
[

4. 데이터 JSON 포맷으로 내보내기
추가 필드 설정 후 JSON 형식으로 내보내기 위해 FileStorage destination을 패키지에 추가합니다. FileStorage destination을 Select 컴포넌트에 연결하고, 아래 표에 따라 세부 설정을 마치면, 드디어 parquet 형식을 읽어와 이를 JSON 형식으로 내보내는 데이터 파이프라인이 완성 됩니다. 항목명 설정값 Connector S3 Target bucket 해당 커넥터의 버킷 이름 Target directoryjson-output-test
Destination format
Line Delimited JSON
Destination action
Write all files directly and replace files in directory if they already exist
Merge output to single file
체크
Target file names
Custom pattern
File name prefix
2020-citibike-tripdata.
[


※ 참고 - 파일 불러오기 시 timeout 에러가 발생하는 경우 대응 방법
FileStorage source에서는 데이터 불러올때 아래 그림과 같이 timeout 에러가 발생하는 경우가 있습니다. Parquet이나 Excel 형식의 파일은 스키마 구조를 파악하기 위해 파일의 처리가 필요합니다. 파일에 있는 데이터가 적으면 문제가 없지만, 데이터가 많으면 파일 처리에 예상보다 많은 시간이 소요됩니다. [
02 Source properties로 이동하여 Path를 실제 사용할 데이터 용량이 많은 파일명으로 설정한 후 그대로 Save 버튼을 클릭하여 저장한다.
이때 주의할 점은 03 Select input fields로 이동하지 않는 것입니다. 실수로 잘못 갔다면 그대로 Cancel 버튼으로 저장하지 말고 설정 화면에서 나가서 다시 FileStorage source를 열고 02 Source properties에서 Path의 파일명을 변경해 주세요.
마치기
Parquet 형식은 대용량 데이터를 빠르게 처리하고 저장 공간을 절약하는 데 매우 유용하며, AWS의 Athena에서도 이 파일 형식을 지원하기 때문에 다양한 대용량 데이터를 parquet 형식으로 전송하여 분석 업무에 빠르게 대응할 수 있습니다.
저희 integrate.io는 2주 무료 체험판을 제공하고 있습니다. 꼭 한번 사용해 보시기 바랍니다.