Community

> 커리어리 친구들, 오늘은 구글 클라우드의 데이터 프로세스 엔진인 빅쿼리에서 데이터 로딩을 효율적으로 하는 방법에 대해 간단히 정리해 볼까 합니다. 사실 구글 클라우드의 빅쿼리에 국한된 것이 아

> 커리어리 친구들, 오늘은 구글 클라우드의 데이터 프로세스 엔진인 빅쿼리에서 데이터 로딩을 효율적으로 하는 방법에 대해 간단히 정리해 볼까 합니다. 사실 구글 클라우드의 빅쿼리에 국한된 것이 아니라 데이터를 로딩할 때 파일 포맷에 따라 어떻게 사용해야 하는지에 대한 팁입니다. 우리가 흔히 데이터를 로딩할 때 가장 많이 사용하는 것이 CSV 파일일 겁니다. 그런데 CSV 파일은 압축하지 않는 파일이라 파일 크기가 큽니다. 따라서 이러한 CSV 파일을 리전이 다른 곳으로 복제한다고 가정한다면, 네트워크 응답 속도에 대해 여러분들은 민감해 할 것 입니다. 왜냐하면, 네트워크 속도가 느리게 되면 파일 자체가 끊어지는 경우도 발생하고 비용도 크게 나가기 때문입니다. 빅쿼리에서는 AVRO 라는 포맷을 권장합니다. Avro가 효율적이고 시각적인 표현력에 있어서 풍부하여 편리한 형식으로 추천할 수 있습니다. Avro는 블록으로 분할되고 블록별로 압축될 수 있는 자체 설명 바이너리 파일을 사용합니다. 이 때문에 Avro 파일에서 데이터 로드와 Avro 파일로 데이터 내보내기를 병렬화할 수 있는 장점을 가집니다. 블록이 압축되어 있기 때문에 파일 크기도 데이터 크기가 나타내는 것보다 작습니다. 따라서 표현 측면에서 Avro 형식은 계층적이며 중첩 및 반복 필드를 나타낼 수 있습니다. 그외 AVRO를 사용하는 데 있어서 커다랗게 두가지 단점이 있습니다. 이에 대해 아래의 URL 링크에 자세히 적어 두었습니다. Avro 대안책으로 파케이(Parquet) 포맷을 추천했는 데, 파케이는 어떠한 형식이고 Avro 와 어떠한 차이점이 있는지 또한 구글 클라우드 저장소에서 데이터를 로딩할 때의 방법과 아파치 ORC 포맷에 대해서도 살짝 언급했습니다. 데이터 엔지니어링 현업들에게 도움이 되었으면 좋겠습니다.

알림

알림이 없습니다