본문 바로가기

Data/Data Engineering

(37)
[Airflow] 인자값 전송 및 Task raise exception PythonOperator에서 함수값 넘겨주기 간략한 코드 예시 from airflow.operators.python import PythonOperator def temp_function(**context): print(context['params']['target_date'] # dict형식으로 왼쪽과 같은 방식으로 변수를 불러읽습니다 target_date = '2022-03-10' temp_function_job = PythonOperator( task_id='temp_function_job', python_callable=temp_function, params={ 'target_date': target_date, }, provide_context=True, dag=dag ) ############..
[Flink] Flink 정보 정리 본 포스팅은 패스트 캠퍼스의 "실시간 빅데이터 처리를 위한 Spark & Flink Online" 참고하여 제작했습니다! 전반적인 정의에 대해서만 정리하고 프로그래밍 관련은 강의를 보시는걸 추천드립니다! 기본 정보 오픈소스 스트림 프로세싱(Stream Processing) 프레임워크 분산처리 / 고성능 / 고가용성 배치 프로세싱 또한 지원 Spark 보다 빠른 속도 (오...?) Fault-tolerance - 시스템 장애시 장애 직적으로 돌아가서 다시 시작가능 Rescalability - 실행도중 리소스 추가 가능 Stream Processing Batch Processing과 다르게 비교적 가벼운 데이터(ex. 주식 거래소, 웹 서버, 센서 데이터, 비정상 거래 탐지...)를 처리하는데 사용함. 이외..
[Kafka] Kafka 정리 Kafka? 카프카는 Stream Processing(실시간 데이터처리)관련 툴이며, 취업관련 플랫폼 회사인 LinkedIn에서 개발했다고한다. 이 툴도 미국의 대기업에서는 다 사용중이라고한다(Apple, Netflix, AirBnB etc...). 여담이지만, 최근 데이터 엔지니어 직군 공고들을 보면 대부분 Kafka에 대한 지식 소유자는 우대사항에 포함되어있다. 그만큼 요즘에는 중요하게 사용되는 Stream Processing 도구인것같다. Kafka 장점? 확장성 - 하루에 1조개의 메세지 처리 가능, Petabyte의 데이터를 처리 가능 메시지 처리 속도 - 2MS 가용성 - 클러스터 환경에서 작동 데이터 저장 성능 - 분산처리, 내구성, 장애 허용(fault tolerant) Kafka 구조 카..
[Airflow] 관련 정리 아래 정보들은 fastcampus의 강좌를 보고 중요한 내용만 정리한것입니다 :) 기존 방식의 문제점(이라 쓰고 Airflow는 이러한 문제점들을 해결해준다) 실패 복구 - 실패한 배치에 대해서 복구가 어렵다는점 모니터링 - 내가 등록한 배치가 잘 돌아가고있는지 확인하기 어려운점 의존성 관리 - 배치간의 의존성이 존재할경우 관리하기가 까다롭다 확장성 - 중앙화 해서 관리하는 도구가 없기때문에 분산된 환경에서 파이프라인들을 관리하기 힘듬 배포 - 새로운 워크 플로우를 배포하기 힘들다 Airflow 장점 Python으로 쉬운 프로그래밍 가능 (사람 코딩능력에 다르겠지만...) 분산된 환경에서 확장성이 있음 대시보드 존재 오픈소스이므로 커스터마이징 가능 위에 기존에 존재하던 문제점 해결가능 Airflow 구성..
[Pyspark] 소소한 지식 (pyspark, RDD, 캐싱, 파티셔닝, 최적화) HDFS(Hadoop Distributed File System) 단일장비가 아닌 클러스터에 분산 저장을 하기때문에 큰 용량파일을 저장 할 수가 있음. Replication Factor로 인해, 여러 데이터 노드에 정보값을 복사 저장을해서, 문제가 발생해도 데이터를 불러읽을수있음. ... Pyspark? 요즘 대부분 우리가 알고있는 IT대기업들은 모두 pyspark를 사용중에있음(Netflix, Uber, MS ...). 빅데이터의 세가지문제로 출발해서 Pyspark를 만들게되었는데. 이 세가지 문제를 3V 라고도하는데 다음과같다. Velocity - 데이터의 생성되는 속도 증가 Volume - 데이터의 크기 증가 Variety - 데이터의 다양성 증가 위와같은 문제를 제일 처음겪은곳은 당연히 "Goog..
[Airflow] 잡다한 트러블 슈팅 airflow Scheduler 백그라운드 구동 방법 airflow scheduler -D airflow scheduler 삭제방법 ps aux | grep 'airflow scheduler' 명령어를 친다음에 나오는 프로세스 아이디들을 kill해줘야한다 airflow 계정 생성 방법 airflow users create --username admin --firstname FIRST_NAME --lastname LAST_NAME --role Admin --email pbj00812@gmail.com 위 명령어를 입력하면 비밀번호를 입력하라고 출력됨. 비밀번호 2회 입력하면 계정생성 완료 airflow example dags 삭제 방법 airflow 작업하면서 두가지 문제가 있었는데 1. 하나는 dags폴..
[SnowFlake] Tableau에 SnowFlake ODBC 설치(MacOS) https://sfc-repo.snowflakecomputing.com Snowflake Repository sfc-repo.snowflakecomputing.com 해당사이트에서 odbc - Mac64 - 원하는 버전 폴더 접근해서 다운로드 받으면된다. 태블로 사이트에도 있긴하지만 바로 다운받을순없고, 건너건너 사이트를 거쳐야지만 다운로드 받을수있어서 복잡하다.
[Scala] Scala 언어 기초공부 - 중첩for문 프로그래머스에서 Scala기초를 보고있는데, 중첩for문이 신기해서 기록 object LearnScala { def main(args: Array[String]): Unit = { for( a