Practical Spark – 자주 묻는 질문들 (12)

이번 챕터에서는 Apche Spark 사용자들이 자주 묻는 질문들을 17 가지 정도 정리해봤습니다. Spark 를 처음 사용하시거나 데이터 엔지니어링 세계로 새롭게 들어오신 분들에게 도움이 되지 않을까 싶습니다.

다루는 주제는 Scala 를 어떻게 학습하면 좋을까 부터 AWS EMR 관련된 이야기들 혹은 Spark 사용하면서 발생하는 OOM 이슈와 리소스 할당등 다양한 주제에 대해 이야기 해봅니다.

Practical Spark – Versions (11)

Practical 시리즈는 AWS 환경 위에서 데이터 인프라를 구축하는데 참고할만한 내용들을 담고 있습니다. 이 글은 그 중 Practical Spark 의 한 챕터입니다.

이번 챕터에서는 Spark 의 Version 별 변천사에 대해 알아봅니다. 버전이 올라가면서 개선된, 그리고 신규로 추가된 기능들에 대해 알아봅니다. 마지막 섹션에서는 Spark 의 성능을 좌우하는 Shuffle 을 외부 서비스를 이용해 수행하는 External Shuffle Service 에 대해서도 논의합니다.

Practical Spark – Memory (10)

Practical 시리즈는 AWS 환경 위에서 데이터 인프라를 구축하는데 참고할만한 내용들을 담고 있습니다. 이 글은 그 중 Practical Spark 의 한 챕터입니다.

이번 챕터에서는 Spark 의 Memory 구조를 살펴보면서 Spark Executor 에서 발생한 OOM 을 어떤 옵션을 통해 수정할 수 있는지 알아봅니다. 또한 EMR / EKS 사용시 고려해야 할 메모리를 포함한 옵션들에 대해서도 논의 해보고 PySpark / Apache Arrow 에서 Memory 가 어떻게 다루어지는지도 이야기 해 봅니다.

Practical Spark – Join (9)

Practical 시리즈는 AWS 환경 위에서 데이터 인프라를 구축하는데 참고할만한 내용들을 담고 있습니다. 이 글은 그 중 Practical Spark 의 한 챕터입니다.

이번 챕터에서는 Spark 의 Join Strategy 와 Spark 3.0 에서 새로 추가된 AQE 등의 기능에 대해 알아보며 Spark 내부동작에 대해 이해하고 큰 데이터를 효율적으로 병합하는 방법에 대해 논의해 봅니다.

Practical Spark – SQL & Table (8)

Practical 시리즈는 AWS 환경 위에서 데이터 인프라를 구축하는데 참고할만한 내용들을 담고 있습니다. 이 글은 그 중 Practical Spark 의 한 챕터입니다.

이번 챕터에서는 Spark SQL 을 이용해 데이터를 가공하는 방법과 Table 을 만들기 위한 기반 기술들인 Partition 과 Metastore 대해 이야기를 나누어봅니다. Table 생성시 Spark DataSource Format, Hive Data Format 에 대한 차이에 대해 알아보고 Dynamic Partitioning 을 이용해 데이터를 적재시 유의할점에 대해서도 논의합니다.