반응형

Data Engineering 64

[Data Catalog] 데이터 카탈로그 간략 정리

[ 데이터 카탈 로그란 무엇인가] 데이터 카탈로그란? 데이터 카탈로그는 사용자가 필요한 정보를 빠르게 찾을 수 있도록 하는 회사의 데이터 자산 목록 카탈로그는 대부분 다른 데이터에 대한 기본 정보를 제공하고 그것이 무엇인지 설명하는 메타데이터 사용자는 데이터 관리 및 검색 도구와 결합한 데이터 카탈로그를 갖게 됨 [링크 참고] - 자세한 사항은 추후 아래 링크를 참고해서 다시 읽기 https://velog.io/@baeyuna97/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B9%B4%ED%83%88%EB%A1%9C%EA%B7%B8 데이터 카탈로그 데이터 카탈로그는 사용자가 필요한 정보를 빠르게 찾을 수 있도록 하는 회사의 데이터 자산 목록입니다. 카탈로그는 대부분 다른 데이터에 대한 기본 ..

[Spark] 스파크 조인

8.1 조인 표현식 #python3 DF.join( JoinDF , JoinExpression, (joinType) ) - JoinDF : 조인 대상 - JoinExpression : 조인 표현식(조건) - joinType : 조인 타입( 생략가능 / defaultValue : inner ) 왼쪽, 오른쪽 데이터 셋에 있는 하나 이상의 키값을 비교하고 왼쪽 데이터 셋과 오른쪽 데이터 셋의 결합 여부를 결정하는 조인 표현식의 평가 결과에 따라 두 개의 데이터 셋을 조인 가장 많이 사용하는 조인식은 동등 조인(equi-join) 더 복잡한 조인 정책도 지원함 8.2 조인 타입 내부 조인(inner join) 왼쪽, 오른쪽 데이터 셋에 키가 있는 로우를 유지 외부 조인(outer join) 왼쪽이나 오른쪽 데..

[Spark] 스파크 집계연산 정리 1

집계를 수행하려면 키나 그룹을 지정하고 하나 이상의 컬럼을 변환하는 방법을 지정하는 집계함수를 사용 SELECT 가장 간단한 형태의 그룹화, 집계를 수행해 데이터 프레임의 전체 데이터를 요약 GROUP BY 하나 이상의 키를 지정, 값을 가진 컬럼을 변환하기 위해 다른 집계 함수 사용 WINDOW 하나 이상의 키를 지정할수 있음, 값을 가진 컬럼을 변환하기 위해 다른 집계 함수 사용 가능. 하지만 함수의 입력으로 사용할 로우는 현재 로우와 연관성이 있어야 함 GROUP SET 서로 다른 레벨의 값을 집계할 때 사용. SQL, 데이터프레임의 롤업, 큐브 사용 가능 ROLL UP 하나 이상의 키 지정 가능, 컬럼 변환하는데 다른 집계 함수 사용하여 계층적 요약된 값 구함

[Kafka] 2. Kafka 기본 구성

1. 5분만에 카프카 맛보기 1-1. 카프카의 기본 구성 카프카는 데이터를 받아서 전달하는 데이터 버스(data bus) 의 역할을 함 구성 명칭 프로듀서(producer) : 데이터를 만들어주는 쪽 컨슈머(Consumer) : 데이터를 소비하는 쪽 주키퍼 : 카프카의 정상동작을 보장하기 위해 메타 데이터를 관리하는 코디네이터 카프카 프로듀서가 메시지를 어떻게 보내느냐에 따라 카프카에 메시지가 잘 저장될수도 손실될 수도 있음 카프카는 중앙에서 프로듀서로부터 **전달받은 메시지들을 저장**하고, 컨슈머에 **메시지를 전달하는** 두가지 역할을 함 2021년 4월 **주키퍼 없이 구동될 수 있는 카프카**가 처음 공개됨 카프카는 주키퍼를 사용하여 **메타데이터 관리** 및 **브로커들의 노드 관리**를 하고..

[Kafka] Kafka study 내용 정리 1

1.1 카프카의 주요 특징 빠른 데이터 수집이 가능한 높은 처리량과 낮은 지연시간 카프카는 매우 높은 처리량(throughput)과 낮은 지연시간(latency)을 자랑한다. 아래 그림은 카프카, 펄사, 래빗MQ 총 3가지 메시징 시스템을 비교한 자료다. 이 그림을 보면, 처리량은 카프카가 제일 높으며, 지연시간이 제일 낮은 것은 래빗MQ라는 것을 알 수 있다. 하지만 처리량과 응답 속도를 같이 비교했을 때는 카프카가 독보적이다. 이렇게 카프카는 높은 처리량을 바탕으로 다양한 기업들의 요구사항을 만족시켜줄 뿐만 아니라 비교적 낮은 지연시간까지 제공한다. 높은 확장성 위에서 카프카는 높은 처리량이 장점이라고 했지만, 아무리 처리량이 높은 시스템이라 할지라도 그 끝은 존재하기 마련이다. 이러한 문제를 해결하..

[Airflow] 다른 시스템과 연결하기

1. 다른 시스템과 연결하기 Airflow 는 태스크 간 데이터를 전달하는 방법으로 두가지가 있음 Airflow 메타스토어를 사용하여 태스크 간 결과를 쓰고 읽는다. 이 방법을 xcom 을 사용하여 데이터를 옮긴다고 한다. 자세한 내용을 아래 링크 참고. xcom 을 사용하여 다른 테스크 간에 데이터 공유 가능 Airflow Xcom 사용하기 영구적인 위치(디스크 또는 데이터베이스)에 태스크 결과 기록 Airflow 태스크는 설정에 따라 물리적으로 서로 다른 컴퓨터에서 독립적으로 실행되므로 메모리에서 데이터를 공유할 수 없음 태스크 간의 데이터는 태스크가 완료된 후 다른 태스크에서 읽을 수 있는 다른 위치에 유지되어야 함. Airflow 는 XCom이라는 기본 메커니즘을 제공, Airflow 메타스토어에..

[Airflow] 1-2. Apache Airflow 살펴보기

2. Airflow 소개 2.1 파이썬 코드로 유연한 파이프라인 정의 파이프라인(워크플로, 태스크)를 방향성 비순환 그래프(DAG) 로 정의 가능 파이썬 스크립트로 DAG 의 구조를 설명하고 구성 각 DAG 파일은 주어진 DAG 에 대한 태스크 집합과 태스크 간의 의존성을 기술하고, Airflow 는 DAG 구조를 식별하기 위해 코드를 파싱 프로그래밍(파이썬) 접근 방식이 DAG를 구성하는데 많은 유연성 제공 외부 DB, 오픈소스 및 클라우드 서비스에서 태스크를 실행할 수 있도록 확장 기능이 계속 개발중 여러 시스템 간에 결합/연결이 가능한 복잡한 데이터 파이프라인을 구축 가능 2.2 파이프라인 스케줄링 및 실행 파이프라인을 언제 실행할 것인지 각각의 DAG 실행주기 정의 가능 이를 통해 Airflow ..

[Airflow] 1-1. Apache Airflow 살펴보기

airflow은 유연한 파이썬 프레임워크를 사용해 쉽게 데이터 파이프라인을 구축가능 최신 기술 환경에서 접하게 되는 서로 다른 기술들을 연결할 수 있는 다양한 빌딩 블록을 제공하는 것 에어플로우는 거미줄의 거미와 같이 데이터 프로세스 과정에서 중요한 역할을 하며 다양한 시스템에서 발생하는 작업을 조율 직접적으로 데이터 처리 작업을 수행하지 않지만, 데이터 처리를 위한 다양한 구성 요소들을 조정 1. 데이터 파이프라인 소개 데이터 파이프라인은 원하는 결과를 얻기 위해 실행되는 여러 태스크 또는 동작으로 구성 1.1 데이터 파이프라인 그래프 태스크 간의 의존성을 명확하게 확인하는 방법 중 하나는, 데이터 파이프라인을 그래프로 표현하는 것 태스크는 노드로 표시되고 태스크 간의 의존성은 태스크 노드간의 방향으로..

[Git] git stash, git cherrypick, git pull/fetch 의 차이 참고 내용 링크

1. git stash https://gmlwjd9405.github.io/2018/05/18/git-stash.html [Git] git stash 명령어 사용하기 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 2. git cherrypick https://hbase.tistory.com/141 [Git] git cherry-pick - 다른 브랜치의 커밋을 적용 git을 이용해서 코드를 관리하다보면 다른 브랜치에 적용된 커밋을 가져와서 내 브랜치에 적용하고 싶은 경우가 있다. develop 브랜치에서 기능 개발 브랜치를 따고 작업하다가 develop 브랜치에 새 hbase.tistory.com 3. git pu..

반응형