전체 글

4학년이 되고 취업 준비를 위해 2023-01-01부터 공부한 내용을 정리한 블로그입니다.
빅데이터 관리/Hadoop

Spark 설치

Spark 설치 https://spark.apache.org/downloads.html Downloads | Apache Spark Download Apache Spark™ Choose a Spark release: Choose a package type: Download Spark: Verify this release using the and project release KEYS by following these procedures. Note that Spark 3 is pre-built with Scala 2.12 in general and Spark 3.2+ provides spark.apache.org 위 링크로 이동하여 아래 1,2번과 같이 버전을 맞춰주고, 3. Download spark 링크..

빅데이터 관리/Hadoop

SPARK 이론

Apache Spark Spark MapReduce 형태의 클러스터 컴퓨팅 패러다임의 한계를 극복하고자 등장 MapReduce Disk로부터 데이터를 읽은 후 Map을 통해 흩어져 있는 데이터를 Key-Value 형태로 연관성 있는 데이터끼리 묶은 후에, Reduce를 하여 중복된 데이터를 제거하고, 원하는 데이터로 가공하여 다시 Disk에 저장 하지만 파일 기반의 Disk I/O는 성능이 좋지 못했고, In-memory의 연산을 통해 처리 성능 향상을 위해 Spark가 등장하였음. Apache Spark는 오픈소스이며, 범용적인 목적을 지닌 분산 클러스터 컴퓨팅 프레임워크 Fault Tolerance & Data Parallelism을 가지고 클러스터들을 프로그래밍 RDD, Data Frame, Set..

Back/MongoDB

MongoDB와 Python 연동하기

1. 윈도우에 MongoDB 설치 https://www.mongodb.com/try/download/community Try MongoDB Community Edition Try MongoDB Community Edition on premise non-relational database including the Community Server and Community Kubernetes Operator for your next big project! www.mongodb.com 다 기본값으로 설치해준다. 환경변수 설정 시스템 변수 -> Path -> 편집클릭 아래 그림과 같은 환경변수 추가 MongoDB 실행 윈도우 명령 프롬프트에서 Mongo 명령어 실행 실행 환경 저는 Pycharm으로 실행했습니다. ..

Back/MongoDB

Mongo DB 실습 - 3

쿼리 배열 find() 할 때 문서의 키에 대응하는 value 값에 쿼리문안에 요청한 값이 있으면 출력한다. $all 연산자는 2개 이상의 배열 요소가 일치하는 배열을 찾을 때 사용한다. 순서는 중요하지 않아 조회하는 "type" 키의 배열 값이 ["banana","apple" ~] , ["apple", "banana" ~ ] 모두 조회가 가능하다 전체 배열과 일치하는 문서를 조회할 경우 모든 요소의 인덱스 순번에 해당하는 배열내 요소의 값을 작성해서 정확히 일치하여야 함 배열 내의 특정 요소를 조회하기 위해선 "key:index" 구문을 이용하여 순서를 지정한다. "type" 키의 값에 "세 번째" 인덱스에 위치한 값을 조회 배열의 인덱스는 0부터 시작하기 때문에 2로 입력 $size 연산자는 특정 크..

Back/MongoDB

Mongo DB 이론 - 2

MongoDB MongoDB는 NoSQL 중에는 가장 사용량이 많은 데이터베이스이다. NoSQL이란 Not Only SQL으로 기존의 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터저장소이다. MongoDB는 C++로 작성된 오픈소스 문서 지향(Document-Oriented)적 데이터베이스이며, 뛰어난 확장성과 성능을 유지한다. C, C++, C#, JAVA, Python 등 다양한 프로그래밍 언어를 드라이버를 통해 연동할 수 있고 이는 다양한 프로그래밍 언어를 통해 MongoDB의 데이터 갱신, 조회, 변경, 삭제 등 다양한 연산을 수행할 수 있다는 장점이 있다. 다만 MongoDB는 Join 연산이 불가능하기 때문에 Join이 필요 없도록 데이터를 설계하거나 내장문서를 여러 번 쿼리..

Back/MongoDB

Mongo DB 실습 - 2

문서 갱신 $addToSet 제한자 $addToSet 제한자는 배열을 집합처럼 처리하여 중복을 피하고, 입력할 수 있음 "type" 키에는 배열의 형태로 apple banana 값들이 입력되어 있고 $addToSet 제한자를 통해 orange 값을 입력하면, orange 값이 없기 때문에 중복을 피하여 입력됨. $each 제한자를 조합하여 고유한 값을 여러 개 추가 마지막 update시에 존재하지 않는 strawberry만 갱신된다. $pop 제한자 $pop 제한자는 배열의 양쪽 끝에서부터 요소를 하나씩 삭제함 값을 1로 부여하면, 배열의 마지막 요소부터 제거 값을 -1로 부여하면, 배열의 처음부터 요소를 제거 $pull 제한자 $pull 제한자는 배열 위치랑 상관 없이 주어진 조건에 맞는 배열 요소를 ..

Back/MongoDB

Mongo DB 실습 - 1

Mongo DB 설치 wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt-get update sudo apt-get install -y mongodb-org MongoDB 패키지 설정 echo "mongodb-org hold" | sudo dpkg --set-selections echo "mongodb-org-serve..

Back/MongoDB

MongoDB 이론 - 1

데이터베이스란? 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합 자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높인 것 DBMS란? 데이터베이스를 관리하는 시스템 데이터베이스를 정의하고 질의어 SQL를 지원하는 등의 작업을 함 관계형 데이터베이스 RDBMS 데이터를 단순한 표(Relation)로 표현하는 형식의 데이터베이스 정형화된 데이터 항목들의 집합 비관계형 데이터베이스 NoSQL 시대가 변화하면서 데이터가 점점 편화함 내 계좌(-) -> 상대 계좌 (+) -> 전산상에 기록 -> 하나의 트랜잭션 원자성 Atomicity 부분적으로 실행되다가 중단되는 것을 방지하는 성질 정상적으로 송금이 되었으면 전상상에 기록이 되고, 아니면 처리되기 이..

빅데이터 관리/Hadoop

Hive - 2

Hive Tables 이해하기 hive에서 names 테이블 생성 create table names (id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; 터미널 쉘에서 names.txt 파일 생성 0 Rich 1 Barry 2 George 3 Ulf 4 Danielle 5 Tom 6 manish 7 Brian 8 Mark hadoop fs -put names.txt /warehouse/tablespace/managed/hive/names/ 로 저장 기존에는 비어있던 names 테이블이 (왜인지 모르게 데이터가 깨지긴 하지만) names.txt에 넣은 값이(개수가 같긴 하니까..) 들어감을 볼 수 있음..

빅데이터 관리/Hadoop

Hive - 1

Hive란? Hive는 하둡에서 데이터를 처리하기 위한 데이터 웨어하우징 솔루션 중 하나입니다. Hive는 SQL을 사용하여 대규모 데이터 집합을 분석할 수 있도록 해주는 데이터 웨어하우스 솔루션입니다. Hive는 하둡 기반의 분산 데이터 저장소에서 SQL 쿼리를 실행할 수 있도록 해주는 인터페이스를 제공합니다. Hive는 HiveQL이라는 SQL과 비슷한 언어를 사용하여 데이터에 대한 쿼리 및 분석을 수행합니다. HiveQL은 기존의 SQL과 유사하며, 사용자는 대부분의 경우 HiveQL을 배우기 쉽습니다. 또한 HiveQL은 사용자가 쉽게 커스텀 함수와 집계 함수를 정의하고 사용할 수 있도록 해줍니다. Hive는 맵리듀스와 같은 하둡의 다른 기술과 함께 사용될 수 있으며, 대규모 데이터 처리 및 분석..

잘잔디
MBCS 공부일지