Spark & Flink Online [Part 1]


CH 01データエンジニアリング
  • のデータ抽出サイトを使用するほとんどの作業はデータエンジニアリングです.
  • garbage-in -> garbage-out
  • CH 01 02モダンデータエンジニアリング
    過去
  • の計算能力と容量は高価です.
  • 用途は
  • とした.
  • データの配布場所も規定されている.
  • 過去のデータ管理方法
  • データのフォーマット、すなわちモードを事前に作成する必要があります.
  • データの変動は大きくありません.
  • 効率的なデータベースモデリングは非常に重要です
  • ETL
  • 抽出(Extract)
  • モード(Transform)
  • に変換
  • データベース
  • にロード
    現在
    データができることが多くなり、形状が予測しにくくなるため、パターンを定義することが難しくなります.
  • リアルタイム機能
  • より高速な機能が追加されました
  • リアルタイムログ
  • 非構造化データ
  • サードパーティデータ
  • 計算能力の低下
  • データ、SparkまたはFlinkによるある程度のクリーンアップと記憶(E&T)
  • システムの複雑さに基づいて、データの抽出とロードを一度に完了します.
  • アプリケーションまたは分析ツール(T)
  • に変換
    Trend
  • Cloud Warehouse
  • ex) Snowflake, Google Big Query
  • Hadoop → Databricks, Presto
  • リアルタイムビッグデータ処理
  • ETL → ELT
  • データストリーム自動化(Airflow)
  • のデータ分析チームと比較して、
  • は誰でも分析できます.
  • 集中データプラットフォーム管理(Access Control,Data Book)
  • データアーキテクチャ
    소스 → 수집 및 변환 → 저장 → 과거 → 예측 →  출력
    データ・フロー
    1. 데이터 생성(Source)
    2. ELT(Ingestion, Transformation)
    3. 쿼리 가능하도록 저장(Storage)
    4. 과거 데이터 검색(Query), 미래 데이터 예측(Processing)
    5. 데이터 적용(Output)
    )
    収集、変換および処理に集中する(典型的なデータエンジニアリングは2번および4번의 Processingである)
    Ingestion & Transformation
    - Airflow
    - Kafka
    - Spark
    - Flink
    
    Processing
    - Spark
    - SparkML
    - Flink
    以降の内容
    - Spark : 병렬/분산 처리
    - Airflow : 데이터 오케스트레이션
    - Kafka : 이벤트 스트리밍
    - Flink : 분산 스트림 프로세싱
    CH01_03 Batch & Stream
    Batch Processing
  • 規定の時間内に大量のデータを一度に処理する
  • 限られた大量データ
  • 特定時間
  • バッチ
  • いつ使いますか.(Batch)
  • リアルタイム性を保証する必要がない場合
  • のデータを同時に処理できる場合
  • .
  • 処理が重い場合(EX ML学習)
  • 一般的なバッチ・プロセス
  • 収集データ
  • データベースを読み込み、
  • を処理する.
  • データベース
  • を再読み込み
    Stream Processing
  • 複数のアクティビティが同時に入るとき
  • は長い間何の活動もしていませんでした
    1,2個の環境を混在させると、バッチあたりのデータ数が異なるため、リソースの使用効率が低下する可能性があります.
  • Stream処理により、データが送信されるたびに処理を行うことができ、効率性が向上します.
  • いつ使いますか.(Stream)
  • リアルタイム性が必要な場合
  • データが複数のソースから入力とき
  • データがたまに入ったり、入ったりするとき
  • 楽な処理時(ルールベース)
  • 典型的なフロー処理プロセス
  • データ(英グスター)
  • を入力するたびに
  • クエリー/処理後ステータス更新
  • DBは
  • を含む.
    Micro-Batch Processing
  • は、データを少しずつ収集する処理
  • を行う.
  • バッチは、ストリーム
  • を模倣するために分割する.
  • ex) Spark Streaming
  • CH01_04 Dataflow Orchestration
    Orchstraterationとは?
  • Task Scheduling
  • 分散運転
  • Task間の依存管理
  • どうして必要なの?
  • サービスの増加に伴い、データプラットフォームの複雑さも
  • 増加した.
  • データはユーザに直接関係する(ワークフローが失敗するとサービスも失われる)
  • 増加する.
    それぞれの
  • Taskが重要になる
  • Task間の依存性
  • CH 01 05データエンジニアリング(例)

  • Uberのミケランジェロ
  • 機械学習は重い過程であり、오프라인 배치 프로세싱学習
  • 学習データ、推定配信時間실시간

  • これから勉強する内容
    学習
  • MLデータ+サービスライン
  • Reference
  • https://fastcampus.co.kr/data_online_flink