AI/Big data(29)
-
NumPy
사용 import numpy as np배열 선언 np.array N 차원 배열을 작성할 수 있음 1차원 배열, 2차원 배열, 3차원 배열처럼 원하는 차수의 배열을 만들 수 있음 1차원 배열은 vector 2차원 배열은 matrix vector와 행렬을 일반화한 것을 tensor라 함 x = np.array([1.0, 2.0, 3.0]) print(x)[1. 2. 3.]산술연산 x = np.array([1.0, 2.0, 3.0]) y = np.array([2.0, 4.0, 6.0]) x + yarray([3, 6, 9]) NumPy의 N차원 배열 A = np.array([[1, 2], [3, 4]]) print(A) [[1 2] [3 4]] A.shape (2, 2) A.dtype dtype('in..
2023.08.31 -
YARN (Yet Another Resource Negotiator)
하둡에서 처리되는 데이터 대부분은 HDFS에 저장된다. 네트워크에 연결된 파일 서버와 같은 존재이다. 다수의 computer에 파일을 복사하여 "중복성"을 높여 HA를 달성한다. (3개 복사, eraser coding을 통해 1.5의 리소스만 사용) YARN cluster 내 CPU나 memory 등의 자원을 관리한다. Spark도 분산 관리를 하는데 YARN을 사용하는 이유는? YARN은 한 machine에서 VM을 올려 자원을 더 효과적으로 사용한다. VM처럼 container를 써서 자원을 효율적으로 분리해서 사용한다. cluster는 Spark를 한 개만 실행할 수 있다. 즉, 여러개의 Spark를 실행하고 자원을 관리하려면 YARN이 필요하다. e.g., YARN으로 데이터 정제 (정제 task..
2022.04.30 -
Hadoop ecosystem
Hadoop은 분산 시스템을 구성하는 다수의 S/W 집합체 query engine HIVE, Impala, Flink, Spark 분산 데이터 처리 MapReduce, Spark, Tez 리소스 관리자 YARN, Mesos 분산 파일 시스템 HDFS Hadoop 1.0 분산 저장 Name node와 딸린 여러 data node가 처리 name node: blcok 정보를 지닌 meta data 관리 데이터 노드 관리 data node 데이터를 block 단위로 저장 block 단위 데이터는 복제하여 저장 (HA) 병렬 처리 job tracker, task tracker로 구성 하나의 job tracker가 여러 task tracker를 제어 job tracker 전체 작업의 진행 상황 관리 자원 관리 최..
2022.04.30 -
Sharding (샤딩)
샤딩? shard는 "조각내다"라는 뜻으로 sharding은 큰 데이터를 조각내어 저장한다는 의미를 지닙니다. DB traffic의 분산 기술이며, RDB의 table을 "수평 분할 방식으로" 분산 저장/조회하는 방법입니다. 샤딩 방식 modular sharding range sharding Modular(key based) sharding PK를 DB 수로 modular 연산하여 어디로 분산할지를 결정 client에서 routing 알고리즘(modular 연산)을 수행하여 어느 DB server에 저장할지를 결정 장점 데이터가 균등하게 분산됨 단점 DB 추가 시 이미 적재된 데이터의 재정렬이 필요함 사용경우 데이터량에 큰 변화가 없는 경우 Range(dynamic) Sharding PK의 범위(rang..
2022.04.29 -
열 지향 스토리지
"메모리"에 모두 올리지 못할 정도의 대량의 데이터는 "집계"에 적절한 형태로 저장되어 있어야 한다. 대량의 데이터 처리에 용이한 형태로 "가공" for low latency 모든 데이터를 memory에 상주 메모리에 모두 올릴 수 있다면 MySQL 이나 PostgreSQL 등의 일반적인 RDB를 사용해도 좋음 그렇지 못한다면, I/O가 많이 발생하여 성능이 급격히 느려짐 열 지향 DB의 형태 데이터를 미리 column 단위로 정리해 저장 읽고 쓰는 단위가 record 단위의 row가 아니라 행단위 row 임 이후 column 단위로 집계하여 분석 열 지향 DB의 특징 필요한 column만 load 하여 I/O를 줄임 동일 열에 유사 데이터가 많아 압축이 용이 (90%) 하나의 query에 대해 여러 t..
2022.04.29 -
data lake
데이터를 그대로 축적 여러 소스에서 들어온 데인터를 '축적'하는 '호수' 분산 storage가 data lake로 이용됨 CSV나 JSON 등 범용적인 형태로 저장 이를 ETL 하여 (즉, 가공하여) data mart로서 table로 저장 이후 SQL로 query ETL등의 가공에는 'MapReduce' 등의 분산 처리 기술이 필요함 * ad hoc analysis: 일회성 데이터 분석 * SQL query를 직접 작성해서 실행하던가 spread sheet에서 그래프의 생성까지 수작업으로 진행
2022.04.29