| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
- Transaction
- BIT연산
- namenode
- 우선순위큐
- boto3
- priorityqueue
- spark
- 백준
- bigdata
- ES6
- database
- Parquet
- procedure
- BFS
- JPA
- 시뮬레이션
- Spring
- SQL
- ACID
- 구현
- MySQL
- datanode
- S3
- greedy
- wrapper class
- hdfs
- 프로그래머스
- EventScheduler
- MVC
- Algorithm
- Today
- Total
목록분류 전체보기 (20)
IT 개발일지
 [Apache Parquet] Parquet 알아보기
      
      
        [Apache Parquet] Parquet 알아보기
        1. Apache Parquet- 대량의 데이터를 효율적으로 저장하는 방식 중 하나, 하둡 생태계에서 많이 사용되는 파일 포맷- 열 지향 저장 방식 1. Parquet 특징- 적은 오버헤드만으로도 중첩 데이터(nested data)를 효율적으로 저장할 수 있음- 열 기반으로 저장하기 때문에 특정 열만 저장하는 쿼리의 경우 전체 데이터를 읽지 않아도 된다.- 같은 열에 동일한 타입의 데이터가 많기 때문에, Snappy, gzip, LZO 등 다양한 압축 알고리즘을 사용할 수 있다.- 스키마 기반 저장을 하여 데이터의 구조를 명확히 할 수 있다- 대용량 데이터에 대한 배치 처리에 적합하며, Spark, Hive, Presto 등과 같은 데이터 처리 엔진과의 통합 용이하다. 2. Parquet 데이터 타입-..
 [빅데이터 파이프라인 마스터] Week8 - Spark and RDD
      
      
        [빅데이터 파이프라인 마스터] Week8 - Spark and RDD
        1. Limitation of MapReduce- 여러 job을 만들고 실행하기 위해서는 복잡한 과정을 거쳐야 해서 multi-pass 분석에서는 원활하지 않음- interactive, ad-hoc query에서는 불리함- 실시간(real-time) 처리에서는 불리함 => 주로 batch 작업에 용이- HDFS => intermediate data : file disi IO + reduce 에서 불러오려면 disk io + outputdata를 hdfs에 씌우려면 output => replication이 disk-io에 의해 느림! 2. Apache Spark1. Spark 특징 - 클러스터 환경에서 데이터를 병렬로 처리하는 오픈소스 엔진- python, Java, 스칼라, R 등의 언어를 지원- 인 메..
 [MySQL] MySQL Event Scheduler
      
      
        [MySQL] MySQL Event Scheduler
        Event Scheduler정의- DB내에서 스케줄링이나, 특정 스케줄에 맞춘 이벤트를 실행할 때 사용한다.- Unix의 crontab이나 Windows의 Task Scheduler와 비슷하다.- Trigger과 혼동할 수 있는데, Trigger은 특정 SQL statement가 지정된 테이블의 데이터를 변화시킬 때 자동으로 발현하는 것이고, event는 미리 정해진 시간에 따라 interval하게 진행된다는 차이가 있다. 사용하는 이유1. 주기적, 또는 특정 시간에 작업이 필요한 경우에 자동으로 처리할 수 있다.- 주기적으로 발생하는 작업을 수작업으로 할 필요없이 자동화할 수 있다.- 정기적인 데이터 백업- 시간의 흐름에 따른 데이터 변경 2. 실시간 처리 시 DB에 과부하가 걸리는 작업을 스케줄링할 ..
 [빅데이터 파이프라인 마스터] Week6 - HDFS 설정 및 데이터 업로드
      
      
        [빅데이터 파이프라인 마스터] Week6 - HDFS 설정 및 데이터 업로드
        HDFS 설치1. Pre-requirement포스트 작성 기준 사용하고 있는 환경입니다. 1. Java 1.8(OpenJDK)2. Ubuntu 20.04 - 기타 Linux, MacOS도 가능3. Naver Cloud Platform(s2-g2-s50(vCPU 2EA, Memory 8GB, [SSD]Disk 50GB)) - 최소 요구사항 : 1Core 2GB Memory(AWS EC2 Free-Tier 가능) Operation Modes 1. Pseudo-distributed operation mode (우리가 할 모드)- 여러 클러스터를 모두 만들고 흉내내볼 수 없으니, 우선 single-node가지고 disributed node를 흉내내보는 모드다. 2. Standalone Operation- 기..
 [MySQL] MySQL Procedure
      
      
        [MySQL] MySQL Procedure
        Stored Procedure정의- 일련의 SQL 쿼리를 선언하여 MySQL에 저장하고 해당 SQL문을 함수처럼 실행하기 위한 쿼리의 집합- 만들어 두기만 하면 함수처럼 편하게 사용할 수 있다. 사용하는 이유1. 하나의 요청으로 여러 SQL문을 실행할 수 있어, 네트워크 부하를 줄일 수 있다.- 50줄 이상의 복잡한 Select 문장이 있고, 각 실행시마다 Where 절 조건문이 조금식 변한다고 가정할때, 이 문장을 저장 프로시저에 넣을 경우 네트워크를 통해 전달되는 데이터 소통량이 상당히 감소 => 해당 프로시저가 자주 실행될수록 성능향상 효과 증대- 즉 매번 전체 쿼리 텍스트를 네트워크를 통해 전달될 필요가 없는 것! 2. 성능 향상 또한 가능하다. 저장 프로시저가 최초로 실행되면, SQL 서버는 해..
 [빅데이터 파이프라인 마스터] Week6 - HDFS - Namenode & Datanode
      
      
        [빅데이터 파이프라인 마스터] Week6 - HDFS - Namenode & Datanode
        Namenode & Datanode구조- 하둡은 마스터-워커(master-worker) 패턴으로 동작한 네임노드와, 데이터노드로 구성되어 있음. 1. 네임노드(NameNode)- 파일 시스템의 네임스페이스(namespace)를 관리(파일시스템의 트리와 해당 트리의 모든 파일, 디렉토리의 메타데이터를 관리)- 파일을 저장, 읽기작업 관리하며 메타데이터를 유지하며 어떤 파일이 어떤 블록에 있고, 어떤 데이터노드에 저장되는지 파악- 즉, 어떤 파일들이 어떤 블록에 속해있고, 블록들이 어떤 데이터노드에 관리되어 있는지 등 메타정보를 저장하면서 파일 시스템을 관리하는 주체라고 보면 된다. * FsImage : 파일의 매핑된 블럭 등을 포함한 전체 네임스페이스 정보를 저장한다.* EditLog : FsImage정보..
 [빅데이터 파이프라인 마스터] Week6 - HDFS Background & Concept
      
      
        [빅데이터 파이프라인 마스터] Week6 - HDFS Background & Concept
        HDFS (Hadoop Distributed File System)등장 배경1. 다수 개의 디스크에 저장의 한계- 하나의 Drive에 모든 데이터를 저장하는 것은 많은 시간이 걸린다- 그렇다면 여러 개의 디스크에 데이터를 나누어서 저장하면, 더 효율적이지 않을까?- 예상 문제 a. Hardware Failure에 취약(디스크에 문제가 생겨 데이터 유실 등) => replication으로 해결 b. 흩어져 있는 데이터를 combine하는 데 리소스 및 문제 발생 가능성 2. 분산 파일 시스템의 필요성 부각- 하나의 디스크보다 훨씬 많은 데이터를 저장하기에 separate machines에 partition하는 작업이 필요- 네트워크 베이스로 여러 개의 머신을 관리하는 분산 파일 시스템(distrib..
 [빅데이터 파이프라인 마스터] Week5 - S3 and Boto3 실습
      
      
        [빅데이터 파이프라인 마스터] Week5 - S3 and Boto3 실습
        실습1. AWS Access Key 발급- 우선 AWS에서 자신의 이름 클릭 > Security credentials(보안 자격 증명) 클릭- Access Keys 항목에서 key가 없다면 하나 생성한다.Acess key를 발급받아야 하는 이유 - AWS의 CLI, API를 사용할 때 인증이 되는 Access Key는 크게 다음과 같이 나뉜다. 1. 엑세스 키 ID 2. 보안 엑세스 키- 따라서 이후에 서술된 boto3라이브러리를 활용해 실습을 진행하기 위해서는 AWS CLI를 통해 S3의 각종 설정을 하기 위해서는 미리 Access Key 설정은 필수다. 2. AWS 설정 파일 생성- Linux, MacOS기준으로 다음과 같이디렉토리를 생성하고 설정 파일을 생성한다.mkdir ~/.awsvim ~..
