전체 글33 Apache Spark란? Spark(스파크)란? 스파크는 대규모 데이터 처리 및 분석을 위한 오픈소스 클러스터 컴퓨팅 프레임워크입니다. 스파크는 데이터를 분산 처리하고, 인메모리 방식을 사용하여 효율적이고 빠른 처리 속도를 제공합니다. 등장배경 스파크는 빅데이터 처리를 위한 도구로, Hadoop Ecosystem 내에서 등장했습니다. 이를 이해하기 위해서는 Hadoop의 등장 배경을 먼저 간단하게 살펴보겠습니다. Apache Hadoop 빅데이터 문제를 해결하기 위해 Hadoop이 등장합니다. Hadoop은 분산 파일 시스템인 HDFS와 분산 데이터 처리 모델인 MapReduce로 구성되어 있으며 Hadoop의 등장으로 빅데이터 문제를 해결할 수 있을 것으로 보였습니다. 그러나 Hadoop의 처리 방식은 Disk I/O 기반으로.. Big Data 2023. 6. 2. Docker(도커)란 무엇인가? HTML 삽입 미리보기할 수 없는 소스 Docker란 도커란 컨테이너 기반의 가상화 오픈소스 플랫폼으로 애플리케이션을 개발, 배포 및 실행을 용이하게 해주는 도구입니다. 컨테이너라는 격리된 환경에서 애플리케이션을 독립적으로 실행하여 종속성을 해결하고 이식성을 높일 수 있습니다. 컨테이너(Container)와 이미지 컨테이너는 애플리케이션과 그 애플리케이션을 실행하기 위해 필요한 종속성(라이브러리, 실행환경, 설정 등)을 포함한 격리된 환경입니다. 컨테이너는 가상화 기술을 사용하여 호스트 운영체제로부터 분리되어 실행됩니다. 이를 통해 애플리케이션 간의 충돌을 방지하고 이식성을 높이며, 애플리케이션 배포 및 관리를 간편하게 할 수 있습니다. 컨테이너는 이미지를 기반으로 생성되며, 필요한 종속성과 실행환경을 .. DevOps 2023. 5. 30. Hadoop YARN이란 무엇인가? Hadoop YARN이란? YARN(Yet Another Resource Negotiator)이란 또 다른 리소스 협상가라는 뜻으로, Hadoop Cluster 내에서 리소스와 작업 스케줄링을 담당하는 컴포넌트입니다. 기존 Hadoop의 단점을 보완하기 위해 V2부터 도입되었습니다. 이번 글에서는 YARN이 무엇인지, 왜 등장하는지 등 YARN에 대해 알아보겠습니다. Hadoop V1 (MR 계층) Hadoop이 처음 개발되었을 당시에는 Job Tracker와 Task Tracker가 있었습니다. Job Tracker는 클러스터의 리소스 관리, 작업 상태 추적, 작업의 스케줄링 등 중앙 제어 역할을 하고, Task Tracker는 Job Tracker로부터 할당된 작업을 처리하는 역할을 합니다. ① 잡 .. Big Data 2023. 5. 27. HDFS와 MapReduce에 대해 HDFS와 MapReduce 이전 글에서는 Hadoop에 대해 간단하게 알아보았으며, 이번 글에서는 Hadoop의 코어 프로젝트인 HDFS와 MapReduce에 대해 간단히 알아보겠습니다. Hadoop의 버전마다 차이가 있을 수 있습니다. Hadoop 1.x의 경우 블록 크기의 기본값이 64MB지만 Hadoop 2.x의 경우 블록 크기의 기본값은 128MB입니다. ◈ HDFS(Hadoop Distributed Fils System, 분산 파일 시스템) HDFS는 데이터를 여러 서버에 분산하여 저장하는 분산 파일 시스템입니다. 데이터를 블록 단위로 분할하여 여러 서버에 저장하고, 데이터의 안정성과 내고장성을 제공합니다. HDFS에는 마스터/슬레이브(master/slave) 구조로 하나의 네임노드와 여러 개.. Big Data 2023. 5. 25. Hadoop이란 무엇인가? Hadoop이란 무엇인가? Hadoop(High-Availability Distributed Object-Oriented Platform) Hadoop은 대용량 데이터를 처리하기 위한 오픈소스 프레임워크로, 현재 많은 기업과 조직에서 대용량 데이터 처리에 활용되고 있습니다. 이번 글에서는 Hadoop이 무엇인지 간단하게 알아보겠습니다. ◈ Hadoop 소개 ◇ 등장 배경 Hadoop은 대용량 데이터의 증가와 기존 데이터 처리 방법의 한계로 개발되었습니다. 인터넷과 디지털 기술의 발전으로 인해 기업과 조직에서 생성되는 데이터의 양이 급증했으며, 이를 효율적으로 처리하기 위한 방법이 필요했습니다. 그리고 기존에는 단일 서버에서 데이터 처리를 수행하는 방식이 주로 사용되었으며 대용량 데이터를 한 대의 서버에서.. Big Data 2023. 5. 23. 객체 지향 프로그래밍(OOP)이란? 객체 지향 프로그래밍(OOP)이란? 객체 지향 프로그래밍이란, 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화하여 상태와 행위를 가진 객체로 만들고, 그 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법입니다. ◈ 프로그래밍 패러다임 프로그래밍 패러다임은 프로그램을 작성하는데 사용되는 전반적인 접근 방식이라고 볼 수 있습니다. 프로그래밍 패러다임은 언어나 도구에 따라 다르며, 프로그램의 구조와 동작을 결정하는 원칙과 규칙을 정의합니다. 프로그래밍 패러다임은 절차적, 객체 지향, 함수형 프로그래밍 등이 있습니다. 절차지향 프로그래밍 프로그램을 순차적인 절차들의 모음으로 구성하는 프로그래밍 패러다임입니다. 프로그램의 실행 흐름들 명령어의 순차적인 실행으로 제어합니다. .. Etc 2023. 5. 21. [Database] RDB와 NoSQL 비교(특징, 장단점 등) 이전 글에서 데이터베이스에 대해 알아보았습니다. 이번 글에서는 데이터베이스 중 자주 쓰이는 관계형 데이터베이스와 NoSQL에 대해 알아보겠습니다. 각 특징과 장단점을 비교하며 언제 사용되는지 알아보겠습니다. ◈ RDB(Relational Database) 관계형 데이터베이스는 가장 많이 사용되고 있는 데이터베이스 중 하나로 데이터를 테이블(table) 형태로 표현하여 구조화합니다. 각 테이블은 컬럼(column)과 로우(row)로 이루어져 있으며, 테이블 간에 관계를 정의합니다. 이러한 테이블 집합을 관계형 데이터베이스라고 합니다. ◇ 특징 데이터를 컬럼/로우 형태로 저장합니다. 테이블마다 스키마를 정의해야 합니다. 정해진 스키마에 따라 명확한 데이터 구조를 보장합니다. 데이터 타입과 제약을 통해 데이터.. Database 2023. 5. 17. [Database] 데이터베이스(Database)란? 데이터베이스는 현대 사회에서 매우 중요한 역할을 하고 있으며, 많은 기업과 조직에서 핵심적인 역할을 담당하고 있습니다. 이번 글에서는 데이터베이스에 대해 알아보겠습니다. 데이터베이스가 무엇인지, 데이터베이스의 종류, DBMS에 대해 다룰 예정입니다. 데이터베이스(Database)란 무엇인가? 데이터베이스란 체계화된 데이터의 모임으로, 조직 내에서 필요로 하는 정보를 관리하고 활용할 수 있도록 합니다. 데이터베이스 자체만으로는 유용하지 않으며, 데이터를 관리하고 처리하는 데이터베이스 관리 시스템(DBMS)과 함께 사용됩니다. 데이터베이스의 종류 데이터베이스는 다양한 종류가 있으며, 각각의 종류는 다른 특징을 가지고 있습니다. 아래는 몇 가지 종류의 데이터베이스에 대한 내용입니다. 1. 관계형 데이터베이스 .. Database 2023. 5. 14. [Python] 파이썬의 제어문(if문, for문, ...) 컴퓨터 프로그램에서 제어문은 프로그램의 흐름을 제어하는데 중요한 역할을 합니다. 제어문을 사용하여 조건에 따라 프로그램을 실행하거나, 반복적인 작업을 수행할 수 있습니다. 이번 글에서는 파이썬의 제어문에 대해 알아보겠습니다. 제어문이란? 제어문이란 프로그램의 실행 흐름을 제어하는 구문으로, 조건에 따라 코드 블록을 실행하거나 반복적으로 코드 블록을 실행하는 등의 작업을 수행할 때 사용됩니다. 제어문을 사용하면 프로그램의 실행 흐름을 제어할 수 있어 효율적인 코드를 작성할 수 있습니다. 제어문의 종류로는 if문, while문, for문 등이 있습니다. if문 if문은 조건식이 참(True) 일 때만 코드 블록을 실행합니다. if문은 가장 기본적인 조건문으로 다음과 같은 구조를 같습니다. if 조건: 코드 .. Language/Python 2023. 5. 12. [Python] 파이썬 가상환경 파이썬은 다양한 분야에서 활용되는 인기 있는 프로그래밍 언어입니다. 하지만 프로젝트마다 필요한 라이브러리의 종류와 버전이 달라질 수 있기 때문에 여러 개의 프로젝트를 진행할 때 라이브러리의 충돌이 발생할 수 있습니다. 이러한 문제를 해결하기 위해 가상환경(Virtual Environment)이라는 개념이 도입되었습니다. 가상환경은 하나의 시스템에서 여러 개의 프로젝트 환경을 독립적으로 사용할 수 있습니다. 이번 글에서는 파이썬의 가상환경에 대해 알아보겠습니다. 가상환경이란? 가상환경은 개발자가 프로젝트를 독립적으로 개발하기 위해 사용하는 환경입니다. 각 프로젝트마다 필요한 라이브러리와 버전 등을 독립적으로 관리할 수 있어서, 다른 프로젝트와 충돌 없이 라이브러리를 사용할 수 있습니다. 가상환경을 사용하는.. Language/Python 2023. 5. 11. [Python] 파이썬 3.10 새로운 기능 파이썬 3.10은 이전 버전과 비교해 많은 변화와 새로운 기능이 도입되어 파이썬 개발자들에게 더욱 직관적이고 효율적인 개발을 가능하게 합니다. 파이썬 3.10에서는 match-case문의 등장을 비롯하여 타입 힌트, 괄호로 묶인 컨텍스트 관리자 등 다양한 기능이 추가되었습니다. 이번 글에서는 파이썬 3.10에 도입된 새로운 기능들에 대해 알아보겠습니다. 1. 괄호로 묶인 컨텍스트 관리자(Parenthesized context managers) 이전에는 `with`문 다음에 한 개의 Context Manager만 사용할 수 있었지만, 3.10에서는 괄호로 묶어 여러 개의 Context Manger를 사용할 수 있게 되었습니다. 괄호로 묶인 Context Manager를 사용하면 코드를 더 간결하게 작성할 .. Language/Python 2023. 5. 10. [Python] 딕셔너리(Dictionary) 자료형 파이썬의 다양한 자료형 중 딕셔너리(Dictionary)는 키와 값을 쌍으로 저장하는 자료형으로, 키를 기반으로 값을 검색하거나 수정하는 등의 작업에 사용될 수 있습니다. 이번 글에서는 파이썬의 딕셔너리 자료형에 대해 알아보겠습니다. 딕셔너리(Dictionary)란? 파이썬의 딕셔너리는 키(Key)와 값(Value)을 쌍으로 저장하는 자료형입니다. 중복된 키를 허용하지 않으며, 각 키는 유일한 값으로 존재합니다. 딕셔너리는 중괄호({ })를 이용하여 생성하며, 각 키와 값을 콜론(:)으로 구분합니다. 딕셔너리 생성하는 방법 딕셔너리를 생성하는 방법을 아래 예시 코드를 보면서 알아보겠습니다. 1. 중괄호({ })를 이용한 방법 - 빈 딕셔너리 생성 dic1 = {} print(type(dic1)) # pr.. Language/Python 2023. 5. 8. 이전 1 2 3 다음