[IT] 공부하는 개발자/Data - ALL
-
Spark JAR에 대해 연구해보자... 너는 무엇을 하는 아이니[IT] 공부하는 개발자/Data - ALL 2024. 12. 12. 15:02
저는 스프링 백엔드 개발자로 커리어를 시작해서 6년차에 MLOps 엔지니어로 커리어 체인지를 했습니다. 그리고 8년차에는 데이터 플랫폼 엔지니어로 이직을 했습니다. 하........ 옮겨다닐때마다 아가가 되는 기분... 특히 요즘은 부족함을 매일 매일 느껴요....ㅠ응애응애 하루에 한 개씩 배우다보면 저도 언젠간....... 잘하게 되겠죠..?!배우는것에서 멈추지 않고 포스팅 기록으로 남겨서 잊어버리지 않게 합시다! 오늘은 Spark JAR 관련 트러블슈팅한 것을 계기로 Spark JAR에 대한 포스팅을 작성합니다. Spark JAR는 Apache Spark 애플리케이션을 실행하기 위해 필요한 자바 아카이브(Java Archive) 파일입니다. Spark 애플리케이션의 코드를 배포하고 실행 환경에..
-
데이터 레이크하우스 아키텍처[IT] 공부하는 개발자/Data - ALL 2024. 12. 10. 16:33
데이터 레이크하우스 아키텍처를 이해하려면 먼저 데이터 레이크, 데이터 웨어하우스에 대해서도 알아야한다. 데이터 레이크 vs 데이터 웨어하우스 vs 데이터 레이크하우스데이터 레이크와 데이터 웨어하우스의 장점을 결합한 것이 발전된 방향의 데이터 레이크하우스!! ACID 트랜잭션, 오픈 포맷 기반, 저렴한 운영 비용... 데이터 레이크기술 스택저장소:Amazon S3, Azure Data Lake Storage (ADLS), Google Cloud Storage (GCS).온프레미스 환경에서는 Hadoop Distributed File System (HDFS) 사용. 파일 포맷:Apache Parquet, ORC, Avro (열지향 포맷 추천). 데이터 처리:Apache Spark, Apache Flink,..
-
[Kafka] 카프카의 실전 서비스 운영[IT] 공부하는 개발자/Data - ALL 2024. 9. 18. 10:22
2020.02.15 - [[IT] 공부하는 개발자/Open Source] - [Kafka] 카프카란? 개념과 디자인 [Kafka] 카프카란? 개념과 디자인차례 카프카란 카프카의 특징 카프카 데이터 모델 카프카 리플리케이션 카프카란 카프카는 서비스간에 메시지 통신을 제공하는, 메시지 큐 서비스이다. 실 서비스에서 언제 메시지 통신이 요구gem1n1.tistory.com 최근에 카프카 관련 장애를 겪고 나서, 내가 정말 수박 겉핥기로 카프카를 알고 있었다는 걸 깨닫게 되었다. 그래서 조금 더 공부해서 위의 포스팅에 이어서 2편을 쓴다. 카프카 운영 옵션클라이언트 공통 옵션metadata.max.age.ms- 클라이언트가 브로커로부터 토픽에 대한 메타데이터를 받아와 새로고침하는 시간 - default는 ..
-
[Hive] 하이브 핵심정리[IT] 공부하는 개발자/Data - ALL 2023. 10. 19. 19:30
하이브 개요하이브는 하둡의 HDFS 데이터를 SQL로 질의할 수 있게 해주는 Hadoop 생태계의 일원이다. 하이브는 테이블(Table), 파티션(Partition), 버킷(Bucket) 세 개의 구조로 분할될 수 있다. 테이블을 HDFS 디렉토리에 대응시키고, 이를 파티션으로 분할 후 파티션을 버킷으로 차례차례 나눌 수 있다. 하이브의 장점하이브의 HQL은 SQL과 문법이 비슷하다.하이브는 여러 컴퓨팅 프레임워크에서 동작할 수 있다. (MapReduce, Spark, ...)하이브는 HDFS 데이터에 Ad-hoc 질의를 할 수 있다.하이브는 UDF, 사용자 정의 I/O 포맷을 지원한다. 하이브의 구조테이블테이블 = 디렉토리에 맵핑된다고 생각하면 된다.하이브에서 salary 테이블을 생성하면 HDFS..
-
Zeppelin 과 Notebook 비교, 어떤 것을 고를까?[IT] 공부하는 개발자/Data - ALL 2023. 5. 18. 08:52
Zeppelin 은 데이터 분석과 시각화를 위한 인터랙티브한 환경을 제공하는 Web Notebook 기반의 오픈 소스 프로젝트 Zeppelin을 쓰는 이유 인터랙티브한 환경 실시간으로 코드를 실행하고 결과를 확인할 수 있는 대화형 환경 -> 분석의 효율성 다중 언어 지원 다양한 언어로 코드를 작성하고 실행할 수 있음 -> 사용자가 선호하는 언어 선택 가능 ex) HDFS에 접근하고자 할 때에 상황에 맞게 Hive query 를 작성할 수도, Presto query를 작성할 수도 있다. Python, Scala등의 다양한 언어를 섞어가며 분석 코드를 짤 수 있고, Spark, Cassandra 등 다양한 분석 도구에도 붙을 수 있다. 시각화 기능 데이터 시각화를 위한 다양한 도구와 라이브러리를 지원하여 결..
-
[Streamlit] 설치 단계에서 발생한 이슈와 해결방법 정리[IT] 공부하는 개발자/Data - ALL 2023. 4. 16. 02:11
Streamlit 이란?데이터 시각화를 지원하는 웹 애플리케이션 개발을 위한 파이썬 기반 오픈소스 라이브러리 왜 Streamlit을 써야 할까?1. 쉬움 Data scientist 들이 가장 편하게 느끼는 파이썬 언어로 작성되어 있어서 러닝 커브가 적다. 2. 시각화 지원 시각화를 지원하는 프론트엔드 라이브러리가 많지 않은데, Streamlit 은 다양하고 많은 시각화 라이브러리를 지원해서 차트, 그래프를 높은 자유도로 만들 수 있다. 3. 반응형 웹 반응형 웹을 내부적으로 구현해 주므로 개발 비용을 절약할 수 있다. 4. 비교군 중 가장 인기가 많은 시각화 오픈소스 Github contribution 을 기준으로 비교해 보면 비슷한 오픈소스인 Panel 보다 7배 이상 contribution 이 많다...
-
스파크 - 성능 최적화하기, 리팩토링 practice[IT] 공부하는 개발자/Data - ALL 2023. 2. 26. 19:52
스파크 분산 데이터 컬렉션 스파크에서 발생할 수 있는 성능 저하 이슈, 성능 개선 방법에 대해 정리해 보았다. 데이터 콜렉션의 비교 DataFrame과 Dataset 스파크는 데이터를 쪼개서 여러 개의 Executor nodes에 분산저장한다. 이것이 가능하려면 데이터는 분산 데이터 콜렉션에 저장되어 있어야 하는데, 스파크에서 사용되는 분산 콜렉션 API는 다음 세 가지이다. - DataFrame - Dataset - SQL 테이블, 뷰 유형 DataFrame Dataset 데이터 타입 검증 시기 런타임에서 확인 컴파일 타임에 확인 지원 모두 지원 JVM 기반의 언어인 스칼라, 자바에서만 지원 Row 접근 Row 타입을 직렬화된 바이너리 구조로 변환 스파크의 최적화된 내부 포맷: 일반적으로 가장 빠름 R..
-
스파크는 무엇이고 왜 쓰는지? 스파크에 대해 알아보기[IT] 공부하는 개발자/Data - ALL 2023. 2. 26. 19:01
스파크는 무엇인가요? 기존의 애플리케이션들은 단일 프로세서에서만 실행되도록 설계되었다. 문제는 시대가 바뀌면서 데이터의 양은 기하급수적으로 늘어났지만, 물리적인 방열 한계 때문에 하드웨어의 성능 향상은 멈췄다는 것이다. 그래서 개발자들은 단일 프로세서의 성능을 향상하는 방법 대신 CPU 코어를 병렬로 더 많이 추가하는 방법을 선택했다. 지금도 데이터는 나날이 거대해져 가고 있고, 마침내 컴퓨터 한 대로는 도저히 처리할 수 없을만큼 거대해졌다. 스파크는 이 문제를 해결하기 위해 등장한 데이터 병렬 처리 오픈 소스 라이브러리 엔진이다. 스파크를 사용하면 클러스터 환경에서 데이터를 병렬로 처리할 수 있다. 단일 노트북 환경에서 실행할 수도 있지만, 수천 대의 서버로 구성된 엄청난 규모의 클러스터에서 실행할 수..