개발지식 아카이브/Data - Spark
-
Spark JAR에 대해 연구해보자... 너는 무엇을 하는 아이니개발지식 아카이브/Data - Spark 2024. 12. 12. 15:02
저는 스프링 백엔드 개발자로 커리어를 시작해서 6년차에 MLOps 엔지니어로 커리어 체인지를 했습니다. 그리고 8년차에는 데이터 플랫폼 엔지니어로 이직을 했습니다. 하........ 옮겨다닐때마다 아가가 되는 기분... 특히 요즘은 부족함을 매일 매일 느껴요....ㅠ응애응애 하루에 한 개씩 배우다보면 저도 언젠간....... 잘하게 되겠죠..?!배우는것에서 멈추지 않고 포스팅 기록으로 남겨서 잊어버리지 않게 합시다! 오늘은 Spark JAR 관련 트러블슈팅한 것을 계기로 Spark JAR에 대한 포스팅을 작성합니다. Spark JAR는 Apache Spark 애플리케이션을 실행하기 위해 필요한 자바 아카이브(Java Archive) 파일입니다. Spark 애플리케이션의 코드를 배포하고 실행 환경에..
-
스파크 - 성능 최적화하기, 리팩토링 practice개발지식 아카이브/Data - Spark 2023. 2. 26. 19:52
스파크 분산 데이터 컬렉션 스파크에서 발생할 수 있는 성능 저하 이슈, 성능 개선 방법에 대해 정리해 보았다. 데이터 콜렉션의 비교 DataFrame과 Dataset 스파크는 데이터를 쪼개서 여러 개의 Executor nodes에 분산저장한다. 이것이 가능하려면 데이터는 분산 데이터 콜렉션에 저장되어 있어야 하는데, 스파크에서 사용되는 분산 콜렉션 API는 다음 세 가지이다. - DataFrame - Dataset - SQL 테이블, 뷰 유형 DataFrame Dataset 데이터 타입 검증 시기 런타임에서 확인 컴파일 타임에 확인 지원 모두 지원 JVM 기반의 언어인 스칼라, 자바에서만 지원 Row 접근 Row 타입을 직렬화된 바이너리 구조로 변환 스파크의 최적화된 내부 포맷: 일반적으로 가장 빠름 R..
-
스파크는 무엇이고 왜 쓰는지? 스파크에 대해 알아보기개발지식 아카이브/Data - Spark 2023. 2. 26. 19:01
스파크는 무엇인가요? 기존의 애플리케이션들은 단일 프로세서에서만 실행되도록 설계되었다. 문제는 시대가 바뀌면서 데이터의 양은 기하급수적으로 늘어났지만, 물리적인 방열 한계 때문에 하드웨어의 성능 향상은 멈췄다는 것이다. 그래서 개발자들은 단일 프로세서의 성능을 향상하는 방법 대신 CPU 코어를 병렬로 더 많이 추가하는 방법을 선택했다. 지금도 데이터는 나날이 거대해져 가고 있고, 마침내 컴퓨터 한 대로는 도저히 처리할 수 없을만큼 거대해졌다. 스파크는 이 문제를 해결하기 위해 등장한 데이터 병렬 처리 오픈 소스 라이브러리 엔진이다. 스파크를 사용하면 클러스터 환경에서 데이터를 병렬로 처리할 수 있다. 단일 노트북 환경에서 실행할 수도 있지만, 수천 대의 서버로 구성된 엄청난 규모의 클러스터에서 실행할 ..