Data 8

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

[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

[SQL 기본 문법] SQL 기본 문법 정리

SELECT SELECT 문법은 가장 기본적인 문법중 하나이다. 테이블에서 어떤 컬럼을 선택할 것인지에 대한 쿼리를 수행하게 된다. SELECT * FROM emp 대화형을 통해서 즉석에서 실행하는 쿼리에서는 SELECT * 을 사용하여서 전체를 출력할 수 있습니다. 하지만, 프로그램 코드를 작성할 때에는 어떤 열을 반환하는지 명확하게 하고, 다른 개발자가 쉽게 알아볼 수 있도록 하기 위해서 필요한 열만 작성하는 것이 좋습니다. SELECT empno,ename,job,sal FROM emp WHERE 테이블을 조회할 때, 우리가 원하는 조건이 있을 수 있습니다. 예를 들어서, sal 이라는 컬럼의 값이 2000이상인 사람을 모두 출력과 같은 경우 입니다. 이럴 때, 저희는 WHERE 를 활용해서 조건을..

Data/SQL 2024.04.13

[Python 문법] 오류 처리

파이썬은 타입 오류, 연산 오류 등 다양한 오류가 발생할 수 있다. 오류를 처리하기 위해서 try - except 문법을 활용할 수 있다. x = 5 y = 'Hello' try: z = x + y except TypeError: print("Error : cannot add an int and a str") 오류 발생 핸들링 except 구문에서 오류 타입에 따른 다양한 처리를 할 수 있다. 다음 예시를 확인해보면, 오류 타입에 따라서 프린트 내부 문자열을 변경할 수 있게 된다. def fun(a): if a < 4: b = (a / (a - 3)) print("Value of B = ", b) try: fun(3) fun(5) except ZeroDivisionError: print("ZeroDivi..

Data/Python 2024.04.09

[Python 문법] Python 객체 지향

Python은 객체 지향 언어이다. 그렇기 때문에 상속을 지원하고, Class를 제공한다. 다른 객체 지향과 동일하게 Class는 참조타입이기 때문에 메모리 영역 중 힙 영역에 할당되게 되며, 메모리 주소를 통해서 내부 값을 변경할 수 있다. 추후 메모리 관리 방법에 대한 학습을 할 때, 더욱 자세하게 알아보려고 한다. 문법 Python에서 Class는 일반적인 언어와 동일하게 class 키워드를 통해서 생성할 수 있다. 다른 언어들과 다르게 생성자를 따로 제공하지 않고, 함수의 형식으로 생성자를 제공한다는 점이 특이했다. class Dog: attribute = "mammal" def __init__(self, name): self.name = name def speak(self): print("my ..

Data/Python 2024.04.09