data 8

Parquet vs ORC 데이터 파일 형식 비교하기.

데이터 엔지니어링 분야에서 일하거나 빅 데이터를 다루는 분석가, 과학자라면 데이터를 처리할 때(저장, 호출 등) 스토리지 및 처리에 적합한 파일 형식을 선택해야 한다. 적절한 데이터 파일 형식을 선택함에 따라 대용량 데이터를 효율적으로 저장하고 처리할 수 있는데 그 중 인기 있는 두 가지 파일 형식인 Apache Parquet(아파치 파케이)와 ORC(Optimized Row Columnar)에 대해 설명한다. 1.Apache Parquet(아파치 파케이)란? Apache Parquet은 하둡(hadoop) 에코시스템의 모든 프로젝트에서 사용할 수 있는 컬럼 스토리지 파일 형식이다. 효율성과 성능을 위해 설계되었으며 특히 대규모 데이터셋에서 복잡한 쿼리를 실행하는 데 적합하다. Parquet 파일을 쓸 ..

airflow에서 start_time, execution_time, backfill, catchup

1.airflow의 시간 https://airflow.apache.org/docs/apache-airflow/stable/faq.html#what-s-the-deal-with-start-date: start_date, execution_date 공식문서 1-1.start_date 실행 날짜가 아니라 스케줄 시작 시간으로 DAG 첫 실행은 'start_date + 실행주기' 에 실행하게 된다. start_date: 2023-08-01 00:00:00 hourly job: schedule: 0 * * * * (매시 0분에 실행) → DAG의 첫 실행은 2023-08-01 01:00:00 daily job: schedule: 0 10 * * * (매일 10시 0분에 실행) → DAG의 첫 실행은 2023-08..

airflow는 어떻게 작동할까? 그리고 DAG란?

기존에 다른 배치 프로그램을 사용하다가 airflow로 넘어오면서 뭐 같은 workflow 프로그램 이겠구나 싶었다. 근데 airflow만의 문법이나 기능? 개념? 등을 새롭게 접하면서 단순히 똑같은 배치 프로그램이라고 생각하고 넘어가기 보다는 찾아보고 정리하는 부분이 필요하다고 느꼈다. 그리고 airflow만의 시간에 대한 공부없이 냅다 dag를 만들어서 구현하려다 보니 너무 고생했어서 여기다 같이 정리 하겠다 ㅇㅅㅇ. 1.airflow란? Apache Airflow™는 python 코드로 워크플로우(workflow)를 개발하고, 스케줄링 및 모니터링하기 위한 오픈 소스 플랫폼. DAG(Directed Acyclic Graph, 유향 비순환 그래프): python으로 작성한 workflow로 이를 통해..

[PySpark] 신용카드 사기거래 탐지 모델링(1) - 데이터 탐색

실제 데이터 모델링 업무를 하다보면 클래스 불균형(class imbalanced, 라벨 불균형)인 데이터를 자주 만나게 된다. 일반적으로, 머신러닝 모델은 클래스의 비중이 비슷할때 가장 잘 작동하지만 그런 균형있는 데이터를 다루기엔 현실적으로 쉽지않다. 따라서, 데이터가 심각하게 불균형(highly imbalanced)인 상황에서 어떤 문제가 있고, 어떻게 의사결정하여 문제를 해결했는지 정리하고자 한다. 해당 데이터는 kaggle: Credic Card Fraud Detection에서 다운로드 가능하다. 데이터는 2013년 9월 유럽에서 발생한 신용 카드 거래내역이다. 이 데이터는 이틀 동안 발생한 거래내역을 보여주며, 여기서 284,807건의 거래중 492건의 신용카드 거래가 사기로 판별됐다. 클래스가..

[빅데이터를 지탱하는 기술] Ch3.빅데이터 분산 처리 프레임워크

3-1 대규모 분산 처리의 프레임워크 구조화 데이터(structured data) 스키마(schema) 명확하게 정의된 데이터 테이블 비구조화 데이터(unstured data) 스키마가 없는 데이터 텍스트, 이미지 스키마리스 데이터(schemaless data) CSV, JSON(인터넷을 통해 주고받는 데이터), XML 서식은 정해져 있지만, 컬럼 수나 데이터형은 명확X 일반적으로 구조화 데이터 압축률 높이기 위해 열지향 스토리지로 저장 즉, MPP DB로 저장하거나 Hadoop 상에서 열 지향 스토리지 형식으로 변환 구조화된 데이터중 시간에 따라 증가하는 데이터를 팩트 테이블, 그에 따른 부속 데이터를 디멘젼 테이블데이터 구조화 열 지향 스토리지의 작성 MPP DB의 경우 제품에 따라 스토리지의 형식이..

[PySpark] 빈 데이터 프레임 생성하고 데이터 집어넣기

pyspark에서 다음과 같이 테이블의 스키마를 지정하고 빈 데이터 테이블을 만들 수 있다. 스키마 지정시 뭐 int, float, double 등 데이터 유형을 지정할 수 있는데 임의로 string 데이터 형식을 지정해뒀다. spark 세션과 config는 본인의 환경에 맞게 설정하면 된다. from pyspark.sql import SparkSession from pyspark import SparkConf # spark-conf conf = SparkConf() # conf.set("spark.jars.packages", "org.apache.spark:spark-avro_2.12:3.2.0") conf.set("spark.driver.memory", "-g") conf.set("spark.exec..

ETL vs ELT 차이 및 장, 단점

1.ETL(Extract - Transform - Load) Extract(추출): Data source로부터 데이터 추출 Transform(변형): 데이터를 원하는 format으로 변형 Load(적재): DW(데이터 웨어하우스)로 데이터 적재 ETL(Extract - Transform - Load)은 데이터 엔지니어의 기본업무로 데이터 soure로부터 raw 데이터를 추출(Extract)하고 처리 서버에서 원하는 format으로 변형(Transform)하는 과정을 거쳐 DW(데이터 웨어하우스)에 적재(Load)하는 데이터 통합 방법이다. ETL 과정이 필요한 이유는 OLAP(Online Analytical Processing) 데이터 웨어하우스에서는 관계형 SQL 기반의 데이터 구조만 지원하기때문에 r..

[프로그래머스] 데이터 엔지니어 study - 1주차

일시: 23.01.07(토) 10:00 ~ 한기용 선생님(Max)의 data와 관련된 다양한 경험을 말씀해주심. 커리어 측면에서 여러가지 해보는게 중요 강의에서 설명해주시는 부분은 polyvore, udemy에서 경험기반 그 외 다양한 회사에서 airflow사용, 무엇이고 어떻게 사용하는지 과정 1주차: 데이터팀의 역할, Redshift 2주차: SQL 3주차 ~ 6주차: ETL, Airfolw - SQL,Pyton 커리어를 바라보는 관점 많이 들어오는 질문(3가지) 무엇이 뜨는지 미래대비 무엇을 준비 커리어 고착 무엇을 해야하는지 공통적인 theme → 불안감이 있어 선행 학습을 하려고 함 1.변화를 두려워 하지 말고, 2.필요한 부분을 찾아 자신감을 가지고 학습하는 태도 커리어 성장은 up&down이..