2022년 12월 17일 토요일

Apache Spark 성능설정 가이드 2022.12



Spark 어플리케이션 개발을 하다보면 clients 에게 많은 문의를 받게되는게 아래 내용인데요.


“Spark 권장사양이 어떻게 되나요?”

 

질문을 받을때 마다 환경에 맞게 구성해야 합니다.., 라고 대답을 하기엔 좀 찜찜해서 이번에 아예 문서로 작성해 보았습니다.


  • Nodes 란 무엇인지.
  • Executors 란 무엇이며 어떻게 동작하는지.
  • CPU Core 는 몇개가 적당한지
  • Memory 는 어느정도가 적당한지
  • Partition 이란 무엇이며 메커니즘이 어떻게 동작하는지
  • Task 는 무엇인지

https://f004.backblazeb2.com/file/pb-flz/images/partitions.PNGSpark partitions




https://f004.backblazeb2.com/file/pb-flz/images/executors.PNGSpark executors



https://f004.backblazeb2.com/file/pb-flz/images/shuffle.PNGPartition shuffle



https://f004.backblazeb2.com/file/pb-flz/images/dag-stage-task.PNGTasks, DAG Scheduler


전체문서는 여기 에서 다운받을수 있습니다 :)

2021년 11월 28일 일요일

기술관련 포스팅 - 2021.11.28


Tech


간단한 추천엔진 제작기 (w/h Postgres & Python)

데이터베이스에서 SQL 을 분석하고, 실행계획(Optimizer 라고도 하죠) 을 체계화 하여 계획대로 실행 하는 것은 DBMS 엔진이라면 당연한 것입니다.


SQL 뿐 아니라 다른 Language 도 인간이 작성한 언어(Code)를 컴파일러가 분석, 컴파일/실행 하는 것은 논리적으로 크게 다르지 않습니다.

Python 같은 Interpreter 언어도 마찬가지죠.


위 내용은 Postgres DB 와 Python 을 사용하여 추천엔진을 간단하게(?) 만드는 글입니다.


DBMS 내부에서 Pandas, Numpy, SciPy 등을 사용하여 User function 을 작성, 커스터마이징하는 간단한 소개글인데 보면 볼수록 사용법과 응용방안이 흥미 진진(?) 하군요 :)




AI 코드 자동완성 출시(베타)

goorm 에서 GPT-2 모델기반 코드 자동 완성기능 (코드바이저)를 베타로 출시 하였습니다.


베타기간 동안은 모든 유저가 무료로 사용가능하다고 하네요.

지원 가능한 언어는 Java, Javascript, Python 등이 있습니다.


아직은 초보(?) 수준의 완성도이지만 이것도 계속 학습해 나가는 것이겠죠?





DevLake : Dev Data Lake

오픈소스로된 DataLake 프로젝트가 있어 소개합니다.


흥미로운건 DevOps 와 접목시켜 관련 프로세스와 Data Lake 기술을 혼합해서 사용할수 있도록 만들었군요.


Jira, Git, Jenkins ,Grafana, MariaDB 같은 오픈소스 s/w 로 되어있고, Docker 로 패키징 되어있습니다.





한글라이즈 - 외래어 한글 변환 프로그램

네이버 클로바에서 소프트웨어 엔지니어로 근무 하고 있는 개발자가 외래어를 한글로 표기하는 프로그램을 공개하였습니다.


영어같은 경우는 발음기호를 통해 발음하는 것이 일반적이지만,

다른 언어들의 경우 외래어 표기 규칙이 천차만별이죠.


프로그램은 해당 언어에 맞는 규칙을 사용하여 한글로 전사하는 것을 도와줍니다.





크로스 플랫폼 터미널 - Tabby

윈도우, 맥, 리눅스에서 모두 사용할수 있는 Multi Terminal Client 가 공개되었군요.


Local shell(PowerShell 등), SSH, Telnet 등을 하나의 플랫폼에서 사용이 가능하고,

다양한 플러그인을 설치하여 기능 확장이 가능합니다.