Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GDG Seoul - 코드 한줄 없이 bigQuery로 실시간 Streaming Da...

SeungwooLee
April 07, 2021
120

GDG Seoul - 코드 한줄 없이 bigQuery로 실시간 Streaming Data Pipeline 만들기

코드 한줄 없이 bigQuery로 실시간 Streaming Data Pipeline 만들기 at GDG Seoul

SeungwooLee

April 07, 2021
Tweet

Transcript

  1. 01 02 03 MEGAZONECLOUD GCP팀 SA 기술 블로그 운영 중

    (https://nangman14.tistory.com/) GCP 3x Certified, AWS 1x Certified, Azure 1x Certified 발표자
  2. 고객사에서 Google Workspace에서 DLP 위반 알람이 연동되는 Dashboard를 요구. ->

    위반 알람은 즉시 대처해야 하기 때문에 실시간으로 보이는 것이 Most important point! -> 실시간으로 Streaming되는 데이터를 즉각 반영할 수 있는 Data pipeline이 필요
  3. Capture Process Store Analyze Use 모든 일은 쉬운 순서대로 처리하자

    Data Pipeline process의 역순으로 구성해보자
  4. Google Data studio • GCP 커넥터 다수 보유 (bigQuery, CloudSQL,

    GCS 등..) • Click만으로 Dashboard 구성 가능 • Free!
  5. • Streaming Input : Streaming Data를 실시간으로 처리 가능 •

    B.I engine : 짧은 쿼리 Latency로 신속한 데이터 반영 for Google Data Studio • Google Data Studio 친화적 : “Export” 버튼만 누르면 바로 Report 생성 가능 • 친숙한 SQL 구문 : 기존 DB 사용자도 사용 가능
  6. Extract, Transform, Load 는 컴퓨팅에서 데이터베이스 이용의 한 과정으로 특히

    데이터 웨어하우스에서 다음을 아우른다: • 동일 기종 또는 타기종의 데이터 소스로부터 데이터를 추출한다. • 조회 또는 분석을 목적으로 적절한 포맷이나 구조로 데이터를 저장하기 위해 데이터를 변환한다. • 최종 대상(데이터베이스, 특히 운영 데이터 스토어, 데이터 마트, 데이터 웨어하우스)으로 변환 데이터를 적재한다. What is ETL??
  7. GCP’s Data Processing Service Apache BEAM 기반의 Batch + Streaming

    Data processing Pub/Sub과 연계하기 좋음(Data collection)
  8. In addition.. 고객사에서 추가적인 Data 변형 요구가 있을 수 있음

    (특정 칼럼 빼주세요, 값에 Append해주세요, 시간대 변경해주세요 등등..) Data 변경 때마다 bigQuery에서 작업하는 것은 Too much cost & Not real-time
  9. Dataflow SQL? 코드로 짜야 했던 Dataflow job을 SQL로 생성할 수

    있는 bigQuery 기능 Data branch(1 source -> 2 destination) 기능 bigQuery SQL과 유사한 ZetaSQL 사용(Open source SQL parser)
  10. How to use? Json - bigQuery 매핑 Schema 지정 ->

    특정 칼럼 제외 가능 -> 문제가 됐던 “@type”값을 칼럼에서 제외
  11. How to use? Timestamp의 시간대를 한국표준시(UTC+9)로 변경 -> TIMESTAMP_ADD(event_timestamp, INTERVAL

    540 MINUTE) AS timestamp Workspace의 많은 Alert 중 DLP Alert만 적재 -> where ruleViolationInfo.ruleinfo is not null
  12. Good Point Code 없이 구성할 수 있는 ETL Process Real-time으로

    적재되는 Message Data Streaming Data를 손쉽게 처리
  13. Bad Point 그래도 SQL을 통한 Processing은 Code보다 제한이 많음.. (Query

    Language와 Programming Language의 차이) Code가 Dataflow Job 생성에 더 유리하다
  14. Bad Point Google Data Studio는 “새로고침” 눌러야 새 데이터를 반영

    -> 안누르면 15분 단위로만 Update됨.. Chrome extension이 별도로 필요함 -> Looker나 Tableau는 다를지도?
  15. Best Point Coding에 자신 없지만 Data Pipeline을 구성해야 하는 분

    Streaming Data를 bigQuery에 담고 싶으신 분 SQL을 사용해 ETL Process를 처리하고 싶으신 분
  16. Best Point Code-Free로 Data integration 가능 최근 출시한 Data Fusion이

    GA가 되면 활용하면 단점을 보완할 수 있을듯