분류 전체보기 19

빅데이터의 탐색

1. Pandas로 크로스 집계 merge() 함수로 집계에 필요한 테이블 결합 -> pivot_table()함수로 크로스 집계할 수 있다. df.pivot_table(u'금액', [u'점포 ID', u'상품명'], u'매출일', aggfunc='sum') 2. SQL에 의한 집계 피벗 테이블에 의한 크로스 집계는 간편하지만 데이터의 양이 수백만 레코드 이상일 때 느려져서 사용하기 불편하다. 대량의 데이터 크로스 집계 => SQL 집계 함수 사용 SELECT date_trunc('month', "매출일")::DATE AS "매출일", "점포 ID", "상품 ID", "고객 ID", sum("금액") AS "금액" FROM "판매 이력" GROUP BY 1, 2, 3, 4 --트랜잭션 테이블을 크로스로 집..

하둡 2023.09.11

빅데이터의 기초 지식

데이터 파이프라인 - 데이터 수집부터 워크플로우 관리 - 어디에서 데이터를 수집하여 무엇을 실현하고 싶은지? 데이터 수집 - 데이터 파이프라인의 첫 부분 (데이터를 모은다) - 다양한 곳에서 발생되고 각각 다른 형태를 갖는다. - 파일 서버에 축적된 로그 파일, 애플리케이션에서 쌓인 이벤트 데이터 등 데이터 전송 방법은 크게 bulk 형과 streaming 형이 있다. bulk : - 이미 존재하는 데이터를 정리해서 추출 - DB/서버에서 정기적으로 수집 streaming : - 연속적으로 생성되는 데이터를 끊임없이 전송 - 모바일 애플리케이션/인베디드 장비에서 데이터 수집 스트림 처리 & 배치 처리 기존의 데이터 웨어하우스 : 벌크 형 현재 빅데이터 : 실시간으로 처리하느 스트림 처리가 주류가 됨 스트..

하둡 2023.09.08

hadoop - 분산 환경 구축하기

EC2 인스턴스(linux/unix) 3개로 master 1, slave 2로 구성된 하둡 클러스터 구축하기 필요 소프트웨어 : JAVA, SSH openjdk11 과 hadoop-3.2.4 를 설치함 진행 순서 AWS EC2 인스턴스 배포 설치 (JAVA, HADOOP) JAVA 환경설정 HADOOP 환경설정 SSH 설정 모니터링을 위한 보안규칙 설정 JAVA 설치 openjdk11 설치 wget으로 openjdk11을 설치한다. Java Platform, Standard Edition 11 Reference Implementations /usr/lib/에 java 폴더를 만들어서 다운로드 wget open/jdk/download/link tar xzf openjdk-11+28_linux-x64_bin..

하둡 2023.04.07

하둡과의 만남!

빅데이터 분석의 문제 : 하드 디스크의 용량은 매우 증가했지만 데이터를 읽는 속도는 그에 미치지 못함 1990년 디스크 용량 : 1.370MB, 초당 4.4MB 전송 속도 -> 5분 이내로 데이터를 읽음 현재 디스크 용량 : 1TB, 초당 100MB 수준 -> 두 시간 반 이상이 걸린다. -> 병렬 작업으로 빠르게 데이터를 읽을 수 있다. 어러개의 데이터를 병렬로 읽기/쓰기 할 때 고려할 점 1. 많은 하드웨어를 사용하면 장애가 발생할 확률 증가 2. 분할된 데이터들을 분석하기 위해 결합해야 함 -> 맵리듀스는 디스크에서 데이터를 읽기/쓰기 하는 문제를 키-값 쌍의 계산으로 변환한 추상화된 프로그래밍 모델 제공 -> 계산은 맵/리듀스로 분리됐으며 혼합하는 인터페이스가 있다. 왜 여러 개의 디스크를 가진 ..

하둡 2023.03.30

하둡 설치(단일 노드)

클러스터 환경을 구축하기 전에 하둡을 찍먹하기 위한 단일 환경 설정 1. 자바 설치 하둡은 자바가 설치된 유닉스/윈도우에서 실행된다. https://cwiki.apache.org/confluence/display/HADOOP2/HadoopJavaVersions HadoopJavaVersions - HADOOP2 - Apache Software Foundation Hadoop Java Versions Version 2.7 and later of Apache Hadoop requires Java 7. It is built and tested on both OpenJDK and Oracle (HotSpot)'s JDK/JRE. Earlier versions (2.6 and earlier) support Jav..

하둡 2023.03.29

1, 2장

프로그래밍 = 문제 해결 제약 조건 & 요구사항 : 프로그래밍 언어의 특성 프로그램이 동작할 하드웨어, 운영체제에 관한 지식 사용하고 있는 라이브러리 사용 가능한 최대 메모리 시간 재사용성이 높은 간결한 코드 작성 문제 해결 능력 : 제약 조건과 요구사항을 이해하고 최선의 방법을 찾아내는 능력 프로그래밍 대회의 요구사항 형태 : 어떤 값을 읽어들여 어떤 값을 계산하는 프로그램을 작성하시오 가장 일반적인 문제 해결 알고리즘 - 리처드 파인만(Richard Feynman) 1. 칠판에 문제를 적는다. 2. 골똘히 생각한다. 3. 칠판에 답안을 적는다. 문제 해결 연구의 고전 "어떻게 문제를 풀 것인가(How to Solve It)" 1. 문제를 이해한다. 2. 어떻게 풀지 계획을 세운다. 3. 계획을 수행해..

알고리즘 2022.01.27

5장 CUDA 메모리

1. CUDA 커널 함수는 많은 스레드들에 의해 수행된다. 2. 이 스레드들에 의해서 수행되는 데이터들은 host memory->device global memory 로 옮겨진다. 3. 스레드들은 자신의 blockID, threadID를 통해 자신이 처리해야 할 부분을 접근한다. CUDA 커널로는 사용하고 있는 하드웨어의 최대 성능의 일부분만 얻을 가능성이 높다. ->이유 : global memory는 DRAM(Dynamic Random Access Memory)으로 구현되는데, 이는 접근 지연 시간이 매우 길고(수백 clock cycle) 접근 대역폭도 유한하다. 이론적으로 많은 스레드를 수행하여 메모리 접근 지연 시간을 감내할 수 있으나, 전역 메모로의 접근이 지나치게 많을 경우 데이터 흐름이 정체되..

CUDA 2021.07.12