전체 글 34

Spark 스트림 - 프로젝트에서...

안녕하세요. 프로젝트와 다양한 일정으로 오랜만에 글을 쓰게 되었습니다. 오늘은 데이터 파이프라인 구축 프로젝트에서 스파크를 사용한 경험을 공유하려고 합니다.Spark & Stream2012년 부터 map과 reduce를 지원하면서 스트림 처리할 수 있도록 지원함.DStream API를 통해서 수행했음.저수준 연산만 사용할 수 있기 때문에 최적화 기법을 활용하는 데 한계가 있었음.2016년 스파크 개발자들은 DataFrame을 기반으로 새로운 API를 개발함.Stream 처리란?스트림 처리는 신규 데이터를 끊임없이 처리해 결과를 만들어내는 행위이다. 입력 데이터는 무한하며 시작과 끝을 사전에 정의하지 않는다.스트리밍 애플리케이션이벤트 스트림이 도착한 후 다양한 쿼리 연산을 수행합니다. (예를 들어서, 이벤..

Data 2024.08.21

[Docker] Container 띄워보기

안녕하세요. 오늘은 도커를 실제로 사용하는 방법에 대해서 학습하려고 합니다.지난번에는 도커가 무엇이고, 어떤 요소들이 핵심적인지 알아보았습니다. 가장 중요한 핵심 요소중 하나는 컨테이너였습니다. 이에 대해서 실행하는 방법을 알아볼 것입니다. Container 실행도커에서 Container를 가장 쉽게 실행해볼 수 있는 명령어는 docker container run hello-world 입니다. 이에 대한 의미가 명확하지는 않지만, docker에게 hello-world라는 Container를 실행하라고 추측할 수 있습니다. hello-world 라고 하는 것은 어디서 온 것일까요? 미리 도커로 실행할 수 있도록 패키징돼 누구나 내려받을 수 있도록 공유된 이미지입니다. Container를 실행하기 위해서 이..

Data/Docker 2024.07.15

240711 Spark 강의

스파크의 등장 배경- 점점 늘어나는 데이터- 데이터가 늘어나면서 발생하는 다양한 문제- 서버의 증설로 해결 불가능- Hadoop의 등장으로 일부 해소- 하지만, Hadoop의 데이터 처리 속도는 느리고 개발자에게 높은 학습 진입 장벽을 줌 - 빠른 속도로 데이터를 처리할 수 있는 통합형 연산 엔진으로 생성됨스파크 개요- Java & Scala로 만들어짐- JVM 위에서 동작하게 된다.- 빠른 병렬 연산 엔진에 초점을 맞추고 있다.- 특정 저장소를 선호하지 않기 때문에 다양한 저장소와 협업이 가능하다.### 스파크 구성 요소- 스파크 애플리케이션- 스파크 세션- Cluster Manager- Job- Stage- Task

TIL 2024.07.11

[Docker] Docker란 무엇일까?

안녕하세요! 미니입니다. 프로젝트 후에 폭풍으로 몰아치는 강의를 들으면서 글을 잘 못썼네요 ㅎㅎ맘잡고 다시 학습하는 내용을 적어보려고 합니다. 프로젝트 이후에 바로 Docker에 대해서 학습을 했고, 많은 기업들에서 활용하고 있다고 합니다. Docker는 뭐하는 친구이고, 어떻게 사용하는 지 학습한 내용을 올려보려고 합니다.Docker란?"Docker는 컨테이너 기반 가상화 플랫폼으로, 응용 프로그램과 그 종속성을 격리된 환경인 컨테이너로 패키징하여 실행하는 기술이다." 와 같은 글들을 많이 찾아보게 될 것입니다. (저는 와닿지 않았는데, 혹시 와닿으시나요? ㅎㅎ) 저는 모르는 용어가 많아서 그런거라고 생각하고 하나씩 뜯어봤어요.컨테이너란?컨테이너는 가상화 기술을 이용하여 애플리케이션과 개발 환경을 격리..

Data/Docker 2024.07.11

ER 다이어그램 (Feat. 카카오 T)

안녕하세요! 미니입니다. 오랜만에 글을 남기는 것 같습니다. 프로젝트를 수행하고, 교육 듣고 바쁘게 지낸 것 같습니다.오늘은 데이터베이스를 설계할 때 많이 사용하는 E-R 다이어그램을 설명하고, 프로젝트 수행했던 경험을 공유해보려고 합니다.ERD란?시스템의 엔티티들이 무엇이 있는지 어떤 관계가 있는지 나타내는 다이러그램이다. 즉, 현실 세계에서 발생하는 요구사항을 시스템이 이해할 수 있는 수준으로 나타내는 것을 의미한다.E-R 다이어그램은 Peter Chen에 의해서 소개되었습니다. 해당 논문은 네트워크 모델, Entity-Set과 같은 모델들과 비교하여 엔티티와 관계에 초점을 가지는 데이터 모델링 방법으로 ER다이어그램을 소개했습니다.Entity, RelationshipEntity (엔터티)엔터티는 데..

Data/DB 2024.05.26

240507 컴퓨터 공학 기초 학습

컴퓨터 공학컴퓨터의 구조CPU + 주기억 장치는 작은 의미의 컴퓨터CPU는 연산 장치 주기억 장치는 저장장치저장 장치에는 RAM, HDD, SSD 등 많이 존재한다.CPUMemory와의 거리가 멀기 때문에 다수의 Cache 메모리를 구축한다.코어를 통해서 하나의 CPU 내부에서 여러가지 일을 하는 것이 가능하다.Memory프로그램은 명령어의 모음이고, 메모리에 올라가지 않은 경우에 부른다.메모리에 프로그램이 올라가게 되면, 프로세스가 된다.메모리는 stack, heap, data, code 영역으로 구분된다.HDD, SSD보고 기억 장치라고 불리며, 물리적으로 데이터가 저장되는 공간이다.여러개의 보조 기억 장치를 묶어서 하나로 인식하는 RAID 기법이 있다.알고리즘 1문제 풀이Stack 관련 문제 풀이

TIL 2024.05.07

[CS] 리눅스 사용자 관리

안녕하세요! 오늘도 리눅스에 대해서 학습한 내용을 정리해보려고 합니다. 리눅스를 사용하다 보니 iOS 개발을 하면서 터미널을 사용했던 경험들이 도움이 되는 것 같네요. ㅎㅎ (터미널로 git 사용한 것 칭찬해~) 오늘은 리눅스의 가장 큰 특징 중 하나인 다중 사용자에 대해서 알아보려고 합니다.다중 사용자를 지원하는 것은 여러 사용자가 하나의 시스템을 사용할 수 있다는 것입니다. 예를 들어서, A라는 사람과 B라는 사람이 하나의 컴퓨터에서 동시에 작업을 수행할 수 있는 것입니다. 그러면, 사용자를 추가하고, 삭제하는 작업들이 필요할 것입니다. 이런 다중 사용자를 위한 사용자 계정을 관리하는 방법들을 알아보려고 합니다.사용자 관리다중 사용자 시스템을 사용하기 위해서는 사용자를 구별하고, 적절한 자원을 할당하..

CS/OS 2024.05.04