데이터엔지니어링
-
Airflow-(celeryexecutor)데이터엔지니어링/Airflow 2023. 5. 7. 22:08
VMware(Ubuntu)에서 진행 - 단일 노드로 구성 - sudo apt upgrade로 실제 업그레이드 가능한 패키지 업그레이드 sudo apt-get install postgresql로 postgre DB 설치하기 sudo su - postgres를 치고 psql을 쳐서 postgres DB접속 airflow_db라는 데이터베이스 만들어주기 유저 : airflow, 비밀번호 airflow로 유저 생성 pip install apache-airflow로 airflow 설치하기 유저 : airflow, 비밀번호 : airflow, 권한 : Admin로 유저 생성 sudo apt upgrade 후에 sudo apt install rabbitmq-server를 다운로드한다 유저 이름 : admin, 비밀번..
-
Airflow 간단 개념데이터엔지니어링/Airflow 2023. 5. 3. 23:10
Airflow란? Airflow는 AirBnB에서 만든 워크플로우 시스템이다. Airflow는 워크플로우를 작성하고, 스케줄링하며 모니터링작업을 프로그래밍 할 수 있게 해주는 플랫폼이다. 파이썬으로 쉬운 프로그래밍이 가능하고, 웹 대시보드가 있으며, 커스터마이징이 가능하다. Airflow는 위와 같은 구조로 이루어져 있다. 작동 방식은 DAG Directory에 DAG 파일을 Scheduler와 Webserver가 읽고, Executor가 Worker에게 이 DAG의 Task를 주어 Worker들이 Task를 시작하게 한다. Metadata에는 스케줄러, 워커, 웹서버의 상태를 저장하고, 이를 UI를 통해서 DAG 작업 동작 확인, 트리거, 디버그등 확인할 수 있게 된다. 여기서 DAG(Directed ..
-
[Kafka] Kafka 실습(1)데이터엔지니어링/kafka 2023. 3. 20. 08:13
순서가 이것부터가 아니지만........ 카프카를 설치하고 나서 카프카의 bin 폴더를 보게 되면 아래와 같이 여러 sh파일이 있는 걸 확인할 수 있다. 나는 WSL2의 Ubuntu 20.04.5버전으로 진행했다. 우선 우리가 카프카를 실행시키기 위해서는 주키퍼를 실행시켜줘야 한다. 위와 같은 명령어를 치게 되면 주키퍼가 실행이 된다. 여기서, WSL2로 실행하면 생기는 오류가 저 sh파일이 Permission denied가 된다는 것이다. chmod 777 zookeeper-server-start.sh 해결 방법은, 위의 코드로 그 sh파일에 권한을 주어서 해결하였다. 처음화면에서의 초록색은 위의 코드로 권한을 준 파일들이다. 아직 사용하지 않은 sh파일들은 하얀색임을 확인할 수 있다.. 이어가서, 주..
-
[Docker] 도커데이터엔지니어링/Docker 2023. 3. 15. 00:39
도커?? 도커(Docker)는 리눅스 컨테이너 기반의 오픈소스 가상화 플랫폼이며, 애플리케이션을 컨테이너에 담아 배포가 가능하다. 이를 통해서 서버 환경에 대한 의존성을 줄이고, 애플리케이션의 이식성을 높일 수 있다. 도커는 이미지와 컨테이너로 구성이 되어 있는데, 여기서 이미지는 애플리케이션을 실행하는데 필요한 파일과 설정을 포함하고, 컨테이너는 이 이미지를 기반으로 생성되고, 애플리케이션 실행 환경을 독립적으로 제공하게 된다. 도커는 가상머신(VM)과 유사한 기능을 제공하나, VM보다 가볍고 빠르다. 도커는 가상화 기술을 이용해서 컨테이너를 생성하는데, OS위에 도커 엔진이 작동하며, 컨테이너 별로 Bins/Libs가 작동하고 각각의 App이 작동하게 된다. VM의 경우엔 Hypervisor 위에 각..
-
Hive, Presto, Impala데이터엔지니어링/빅데이터 2023. 2. 24. 00:26
Hive Hive는 Hadoop ecosystem에서 데이터 웨어하우스 시스템을 담당하고 있으며, 대규모 배치 처리를 하는 쿼리 엔진이며, 데이터양에 좌우되지 않는 쿼리 엔진이다. Hive는 Hive Metastore가 있는데, 여기는 데이터들을 저장하고 스키마를 이용해 구조화하여 저장하는 곳이다. 특히, 텍스트 데이터를 가공하거나 열 지향 스토리지를 만드는것 같은 무거운 처리의 경우 Hive를 사용하는게 적합하다. Hive의 특징 및 한계 특징 Hive는 빠르고 확장성이 있다. MapReduce 나 Spark 작업으로 변환되는 SQL 같은 쿼리를 제공한다. HDFS에 저장된 대용량 데이터 세트를 분석 가능하다. 인덱싱을 사용해 쿼리를 가속화한다. Hadoop 에코시스템에 저장된 압축 된 데이터에서 작동..
-
Hadoop 도입데이터엔지니어링/빅데이터 2023. 2. 17. 18:44
Hadoop은 분산 데이터 처리의 공통 플랫폼으로, 다음과 같은 구조로 다양한 소프트웨어로 구성되어 있다. Hadoop의 기본 구성 요소는 '분산 파일 시스템(distributed file system)'인 'HDFS(Hadoop Distributed File System)', '리소스 관리자(resource manager)'인 'YARN(Yet Another Resource Negotiator)' 그리고 '분산 데이터 처리(distributed data processing)'의 기반인 'MapReduce'로 이루어져 있으며, 이 외의 프로젝트는 Hadoop과 독립적으로 개발되어 Hadoop을 이용한 분산 어플리케이션으로 동작한다 즉, 모든 분산 시스템이 Hadoop에 의존적인것이 아니라, Hadoop을..
-
데이터 웨어하우스, 레이크, 마트, ETL데이터엔지니어링/빅데이터 2023. 2. 6. 19:09
테이블의 칼럼 명, 데이터 형, 테이블 간의 관계 등을 스키마라고 하는데, 이 스키마가 명확하게 정의된 데이터를 '구조화된 데이터(structured data, 정형 데이터)'라고 한다. 텍스트 데이터와 이미지, 음성, 동영상 등의 미디어 데이터 등 스키마가 없는 데이터는 '비구조화 데이터(unstructured data, 비정형 데이터)'라고 한다. 정형 데이터는 SQL로 집계가 가능하고, 비정형 데이터는 불가능하다. 예전의 데이터 웨어하우스와 데이터 레이크는 정형데이터와 비정형데이터로 각 각 축적하는것이 일반적이었다. 현재의 데이터 웨어하우스는 주로 정형데이터를 기반으로 트랜잭션 시스템이나 비즈니스 의사결정을 지원할 수 있는 분석 작업 목적으로 데이터를 구성된다. 데이터 레이크는 데이터의 형태와 관계..