일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 엔지니어
- Parquet
- 에어플로우
- s3
- Zookeeper
- kafka rest api
- MySQL
- 대용량 처리
- 카프카 구축
- delta lake
- 카프카
- 컬럼 기반
- Schema Registry
- docker
- 레드시프트
- 델타레이크
- kafka
- 데이터
- Redshift
- airflow
- AWS
- Data Engineer
- 스파크 스트리밍
- 데이터 웨어하우스
- Data Warehouse
- Data engineering
- 데이터 엔지니어링
- spark streaming
- spark
- 스파크
- Today
- Total
목록데이터 (6)
데이터 엔지니어 기술 블로그
Delta Lake는 데이터 레이크 위에 Lakehouse 아키텍처를 구축할 수 있는 오픈소스 프로젝트이다. 데이터 레이크의 문제점과 데이터 웨어하우스의 문제점을 보완해줄 수 있다. 데이터 레이크는 아주 큰 데이터를 저장할 수 있지만 체계가 정확하게 잡히지 않으면 데이터 늪이 되기가 쉽다. S3와 같은 클라우드 스토리지는 가장 비용 효율적인 스토리지 시스템이다. 그러나 key-value로 구현이 되어있어서 ACID 트랜잭션과 같은 고성능을 구현하기는 어렵다. listing object와 같은 메타데이터 동작은 비싸며 일관성 보장은 제한적이다. 델타레이크는 이런 문제점을 보완할 수 있다. ACID 성질을 가질 수 있게 하여 트랜잭션을 구현하며, 테이블에서의 시간 여행을 가능하게 한다. upsert를 구현할..
About 세 가지 위치에서 스파크 설정을 할 수 있다. Spark properties: SparkConf 객체 사용, Java system properties 사용 val conf = new SparkConf() .setMaster("local[2]") .setAppName("CountingSheep") val sc = new SparkContext(conf) Environment variables: conf/spark-env.sh 환경 변수를 통하여 시스템별 설정 가능 # Options read when launching programs locally with # ./bin/run-example or ./bin/spark-submit # - HADOOP_CONF_DIR, to point Spark t..
주키퍼(ZooKeeper)란? 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트 주키퍼는 직접 애플리케이션 작업을 조율하지 않고 조율하는 것을 쉽게 개발할 수 있도록 도와주는 도구이다. API를 이용해 동기화나 마스터 선출 등의 작업을 쉽게 구현할 수 있게 해준다. 각 애플리케이션의 정보를 중앙 집중화하고 구성관리, 그룹 관리 네이밍, 동기화 등의 서비스를 제공한다. 주키퍼의 데이터는 메모리에 저장되고, 영구 저장소에 스냅샷을 저장한다. 분산 코디네이션 서비스란? - 분산 시스템에서 시스템 간의 정보 공유, 상태 체크, 서버들 간의 동기화를 위한 락 등을 처리해주는 서비스 Architecture 주키퍼는 분산 시스템의 일부분이기 때문에 동작을 멈춘다면 분산 시스템이 멈출수도 있다. 그래서 안정성을 확보..
카프카 포춘 500대 기업의 1/3을 포함하여 많은 조직에서 사용되고 있다. 끊임없이 진화하고 성장하는 스트림으로 데이터를 처리하는데에 중점을 두었다. 카프카는 메세징 시스템이지만 클러스터로 실행되고 수동으로 연결하는 개별적인 메시징 브로커 대신에 회사의 모든 데이터 스트림을 처리를 위한 탄력적으로 확장할 수 있는 중심 플랫폼 역할을 한다. 실시간 버전의 하둡을 생각하고 만들어졌다. 메세지 발행과 구독하기(publish/subscribe) 이 구조에서는 데이터를 발행자가 구독자에게 직접 보내지 않고 중간에 브로커가 도와준다. Pub/Sub 구조가 아닌 곳에서는 여러 서버에서 나오는 로그, 메트릭 등을 사용해야 할 때 모니터링 서버, 분석 서버, UI 서버 등에 각자 연결해야 하지만 Pub/Sub구조라면 ..
카프카란? - 실시간으로 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다. - 여러 소스에서 데이터 스트림을 처리하고, 여러 사용자에게 전달합니다. - FIFO(First In First Out)큐를 사용합니다. 마이크로서비스에서의 카프카 - 다른 개발팀의 데이터를 스트리밍하여 데이터 스토어를 채우면, 데이터를 여러 팀과 공유할 수 있습니다. 라인 사용하는 이유 - LINE 메세지 개발 서버 팀에서 복잡해진 아키텍처를 간소화하기 위한 중간 레이어로 사용하고자 채택했습니다. 사용 방식 크게 아래의 두가지로 구성됩니다. 1. 분산 큐잉 시스템으로 사용하는 방법 - 웹 서버에서 비싼 비용의 작업을 처리해야 할 때 백그라운드의 태스크 프로세서에 요청하기 위한 큐를 사용하는 경우 2. 데..
Apache Hadoop 에코 시스템의 column-oriented 데이터 스토리지 포맷입니다. Hadoop에서 사용할 수 있는 column-oriented 파일 형식 RCFile, ORC와 유사합니다. 향상된 성능과 함께 효율적인 데이터 압축 및 인코딩 체계를 제공합니다. 기존 Hadoop 컬럼 스토리지 형식인 Trevni을 개선하기 위해 설계되었습니다. 기능 column-oriented 1. 각 열의 값은 인접한 메모리 위치에 물리적으로 저장됩니다. 2. 열 단위 압축은 효율적이어서 저장 공간을 절약합니다. 3. 같은 열의 값은 비슷한 유형이므로 유형별 압축 기술이 필요하지 않습니다. 4. 특정 열 값을 가져오는 쿼리는 전체 행을 읽지 않고 일부 열만 읽습니다. 5. 열마다 다른 인코딩을 적용할 수 ..