written by yechoi

GCP - Big Data ์ƒํ’ˆ(BigQuery, Cloud Dataproc, Cloud Dataflow ๋“ฑ) ๋ณธ๋ฌธ

Born 2 Code/Cloud

GCP - Big Data ์ƒํ’ˆ(BigQuery, Cloud Dataproc, Cloud Dataflow ๋“ฑ)

yechoi 2021. 3. 14. 22:43
๋ฐ˜์‘ํ˜•

GCP Fundamentals: Core Infrastrucure

๐Ÿ“ ๊ฐ•์˜ ์ถœ์ฒ˜: Coursera GCP Fundamentals: Core Infrastructure

 

Introduction to Big Data and Machine Learning

 

Google Cloud Big Data Platform

Cloud Dataproc

  • managed Hadoop MapReduce, Spark, Pig, Hive service(๋น…๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค)

    ๐Ÿ”— ๊ฐ ํ”„๋ ˆ์ž„ ์›Œํฌ์˜ ์ฐจ์ด๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ๋กœ

  • MapReduce ๋ชจ๋ธ

    ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ '๋ถ„์‚ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ' ๋ชจ๋ธ๋กœ ๊ตฌ๊ธ€์ด 2004๋…„ ๋ฐœํ‘œํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋ ˆ์ž„ ์›Œํฌ๋‹ค.

    ๋งต๊ณผ ๋ฆฌ๋“€์Šค ๋‘๊ฐ€์ง€ ๋‹ฉ๊ณ„๋กœ ์ด๋ค„์ง„๋‹ค. ๋งต์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‚ค์™€ ๋ฐธ๋ฅ˜๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋ฆฌ๋“€์Šค๋Š” ์ค‘๋ณต ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

    ๐Ÿ”— ๋งต๋ฆฌ๋“€์Šค ๋ชจ๋ธ์ด๋ž€

  • ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  Hadoop ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์š”์ฒญ, ๊ฐ€์ƒ๋จธ์‹  ์„ค์ •์„ ์™„๋ฃŒํ•ด์•ผ

  • ์Šค์ผ€์ผ ์—…, ๋‹ค์šด ๊ฐ€๋Šฅํ•˜๋ฉฐ stackdriver๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฐ€๋Šฅ

  • ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋น„์šฉ๋งŒ ์ง€๋ถˆํ•˜๋ฉฐ, ๋น„์šฉ์€ ์ดˆ ๋‹จ์œ„๋กœ ์ฑ…์ •

  • ์ž์›์„ ๋ฏธ๋ฆฌ ์„ ์ ํ•˜๋Š” ์‹์œผ๋กœ ๊ณ„์•ฝํ•˜๋ฉด 80%๊นŒ์ง€๋„ ์ €๋ ด

  • Spark, Spark SQL, MLib(Apache Spark ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ) ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

Cloud Dataflow

์Šคํฌ๋ฆฐ์ƒท 2021-03-07 ์˜คํ›„ 5 42 50

  • ์•ž์…˜ Cloud Dataproc์€ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ๋ฅผ ์•Œ๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์Šค์Šค๋กœ ์กฐ์ •ํ•˜๊ณ ์ž ํ•  ๋•Œ ํšจ์œจ์ 

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณ€๋™ํ•˜๊ณ  ์‚ฌ์ด์ฆˆ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Cloud Dataflow๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ 

  • Cloud Dataproc ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ extract, transform, load batch computation, continuous computation ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ”„๋กœ์„ธ์‹ฑ ํŒจํ„ด์„ ์ง€์›

  • data pipeline์„ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ, ๊ฐ™์€ pipeline์ด batch์™€ streaming data์— ์‚ฌ์šฉ

    ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์žฅ์†Œ์—์„œ ๋‹ค๋ฅธ ์žฅ์†Œ๋กœ ์ฐจ๋ก€๋Œ€๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ ์ผ๋ จ์˜ ์‹œ์Šคํ…œ. ETL(extracting, transforming, loading)์„ ํฌํ•จํ•˜๋Š” ๊ด‘์œ„ํ•œ ์šฉ์–ด. ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์€ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์Šคํ‚ค๋งˆ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์šฉํ•ด์•ผ ํ•˜๊ณ , ๋ฌด์—‡์ด๋“  ๊ฐ„์— ๋ฐ์ดํ„ฐ๋Š” ์ฒญํฌ๋กœ ๋“ค์–ด์™€ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

    ๐Ÿ”— ๋ฐ์ดํ„ฐํŒŒ์ดํ”„๋ผ์ธ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

  • ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ์ธ์Šคํ„ด์Šค์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Œ

  • ์–ด๋–ค ํ”„๋กœ์„ธ์‹ฑ ๋ฆฌ์†Œ์Šค๋“  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋‚˜ ํผํฌ๋จผ์Šค ์ตœ์ ํ™” ๋“ฑ์˜ ์—…๋ฌด๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กœ์›€

  • ๋™์ ์œผ๋กœ ์ง€์—ฐ ๋ฌธ์ œ๋ฅผ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑํ•˜๋ฉฐ, hotkey(๋น„๊ท ํ˜•์ ์œผ๋กœ ๋งŽ์€ ์–‘์˜ ์ฒญํฌ๊ฐ€ ํ•œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋งต๋˜๋Š” ๋ฌธ์ œ) ์šฐ๋ ค๋ฅผ ์ค„์ž„

  • ์ฃผ๋กœ ETL ํˆด๋กœ ์“ฐ์ด๋ฉฐ, IoT ๋ถ„์„, ํ—ฌ์Šค์ผ€์–ด, ์‹ค์‹œ๊ฐ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜(๊ฐœ์ธํ™” ๊ฒŒ์ž„ ux) ๋“ฑ์˜ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ

 

Big Query

  • ๋” ๊ด‘๋ฒ”์œ„ํ•˜๊ณ  ๋งŽ์€ ๋ฐ์ดํ„ฐ์—์„œ SQL ์‹ ํƒ์Šค ์‚ฌ์šฉ
  • Pay-as-you-go ๋ชจ๋ธ
  • cloud storage, cloud data store์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๋น…์ฟผ๋ฆฌ๋กœ ์ดˆ๋‹น 100,000 ์ค„์„ ์ŠคํŠธ๋ฆผํ•  ์ˆ˜ ์žˆ์Œ
  • ํ…Œ๋ผ๋ฐ”์ดํŠธ ๋‹จ์œ„์˜ ๋ฐ์ดํ„ฐ์˜ SQL ์ฟผ๋ฆฌ๋ฅผ ์ดˆ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
  • Cloud Dataflow, Hadoop, Spark ์—์„œ ๋ฐ์ดํ„ฐ ์ฝ๊ณ  ์“ฐ๊ธฐ ๊ฐ€๋Šฅ
  • 99% SLA(Service Level Agreement, ์„œ๋น„์Šค์ˆ˜์ค€๊ณ„์•ฝ)
  • ๋ฐ์ดํ„ฐ ๋ณด๊ด€ ๋ฆฌ์ „์„ ์ง€์ • ๊ฐ€๋Šฅ
  • storage์™€ computation ๋น„์šฉ์ด ๋ถ„๋ฆฌ๋ผ ์žˆ์–ด, ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋น„์šฉ์€ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ง€๋ถˆํ•˜๋ฉด ๋จ
  • ์žฅ๊ธฐ๊ฐ„(90์ผ ์ด์ƒ) ๋ฐ์ดํ„ฐ๋ฅผ Big Query์— ์ €์žฅํ•  ๊ฒฝ์šฐ ๊ตฌ๊ธ€์€ ์ž๋™์œผ๋กœ storage ๋น„์šฉ์„ ๋‚ฎ์ถค

 

Cloud Pub/Sub

  • ๋™๊ธฐ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” Pub/Sub ๋ฉ”์„ธ์ง• ์„œ๋น„์Šค๊ฐ€ ๋„์›€๋จ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐœํ–‰ํ•˜๋ฉด ๊ตฌ๋…์ž๋“ค์ด ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฉ”์„ธ์ง€๋Š” ๋™๊ธฐ์ผ ํ•„์š” ์—†์–ด์„œ ๋””์ปคํ”Œ๋ง ์‹œ์Šคํ…œ์— ์ ํ•ฉ
  • ๋ฉ”์„ธ์ง€๋ฅผ ์ €์ง€์—ฐ์œผ๋กœ ์ตœ์†Œํ•œ ํ•œ๋ฒˆ ๊ณต๊ธ‰ํ•˜๋„๋ก ์„ค๊ณ„๋จ(์•„์ฃผ ์ ์€ ํ™•๋ฅ ๋กœ ๋‘๋ฒˆ ์ด์ƒ ๋ฉ”์„ธ์ง€๊ฐ€ ๋ณด๋‚ด์งˆ ์ˆ˜ ์žˆ์Œ)
  • ์ดˆ๋‹น 100๋งŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋™์‹œ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์˜จ๋””๋งจ๋“œ ํ™•์žฅ์„ฑ์„ ์ œ๊ณต
  • Stream data๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด Pub/Sub์™€ Cloud Dataflow์˜ ํ•ฉ์ด ์ข‹์Œ
  • GCP Compute Platform ์ƒ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ •์ƒ์  ์ž‘๋™

 

Cloud Datalab

  • Python, SQL๊ณผ ๊ฐ™์€ ์นœ์ˆ™ํ•œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€ํ™”์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ํƒ์ƒ‰, ์‹œ๊ฐํ™”, ๋ถ„์„, ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ
  • Integrated, Open source built on Jupiter
  • Datalab ์ž์ฒด๋Š” ๋ฌด๋ฃŒ์ด๋ฉฐ ํƒ์ƒ‰, ๋ถ„์„ ๋“ฑ์˜ ๊ณผ์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” GCP ์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ ๋น„์šฉ ์ง€๋ถˆ
  • BigQuery, Compute Engine, Cloud Storage์™€ ํ†ตํ•ฉ๋ผ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํŽธํ•œ ์ธ์ฆ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์น  ํ•„์š” ์—†์Œ
  • Google charts, map plot line ๋“ฑ์œผ๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๊ฐ€๋Šฅ
  • ์ด๋ฏธ ํ†ต๊ณ„ ํŒจํ‚ค์ง€๋กœ ๋ฐœํ–‰๋œ ๋…ธํŠธ๋ถ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ํ™œ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์Œ

 

 

Google Cloud Machine Learnind Platform

Cloud Machine Learning Platform

  • ๋ฏธ๋ฆฌ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์„ ํ†ตํ•ด ๋จธ์‹  ๋Ÿฌ๋‹ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต

  • ์ž์‹ ๋งŒ์˜ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด๋ณผ ์ˆ˜๋„ ์žˆ์Œ

  • TPU(Tensor Processing Units)๋ฅผ ํ†ตํ•ด 180 ํ…Œ๋ผํ”Œ๋กญ(์ดˆ๋‹น ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ)์˜ ์„ฑ๋Šฅ์„ ๋ƒ„

    TPU(ํ…์„œ ์ฒ˜๋ฆฌ ์žฅ์น˜)๋Š” Google์—์„œ ๋งž์ถค ๊ฐœ๋ฐœํ•œ ASIC(Application-Specific Integrated Circuits)๋กœ์„œ ๋จธ์‹ ๋Ÿฌ๋‹ ์ž‘์—… ๋ถ€ํ•˜๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. TPU๋Š” Google์ด ๋จธ์‹ ๋Ÿฌ๋‹ ๋ถ„์•ผ์—์„œ ์Œ“์€ ์‹ฌํ™”๋œ ๊ฒฝํ—˜๊ณผ ๊ฒฝ์Ÿ๋ ฅ์„ ๋ฐ”ํƒ•์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    Cloud TPU ๋ฆฌ์†Œ์Šค๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์„ ํ˜•๋Œ€์ˆ˜ ์—ฐ์‚ฐ ์„ฑ๋Šฅ์„ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. TPU๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ๋Œ€ํ˜• ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ์ •ํ™•์„ฑ ๋‹ฌ์„ฑ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์—์„œ๋Š” ํ•™์Šตํ•˜๋Š” ๋ฐ ๋ช‡ ์ฃผ๊ฐ€ ๊ฑธ๋ ธ๋˜ ๋ชจ๋ธ์ด TPU์—์„œ๋Š” ๋ช‡ ์‹œ๊ฐ„์ด๋ฉด ์ˆ˜๋ ด ๋‹จ๊ณ„์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๐Ÿ”— https://cloud.google.com/tpu/docs/tpus?hl=ko

  • Google Cloud Machine Learning Engine: ๋Œ€๊ทœ๋ชจ์˜ managed clustured์—์„œ ์–ด๋– ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํƒ€๋“  ํ…์„œํ”Œ๋กœ ๋ชจ๋ธ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

 

Machine learning APIs

  • Cloud Vision API: ์ด๋ฏธ์ง€์˜ ๋‚ด์šฉ์„ ๋น ๋ฅด๊ฒŒ categorizeํ•  ์ˆ˜ ์žˆ์Œ
  • Cloud Speech API: ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜๊ฐ€๋Šฅ, 80๊ฐœ ์ด์ƒ์˜ ์–ธ์–ด ์ง€์›
  • Cloud Natural Language API: ์ž์—ฐ์–ด ๋ถ„์„, ๋ฌธ์žฅ์˜ ๊ฐ์ • ๋ถ„์„ (์˜, ์„œ, ์ผ์–ด)
  • Cloud Translation API: ์ž„์˜์˜ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด๋กœ ๋ณ€ํ™˜
  • Cloud Video Intelligence API: ๋น„๋””์˜ค์— ์ฃผ์„์„ ๋‹ฌ ์ˆ˜ ์žˆ์Œ (๊ฒ€์ƒ‰๊ธฐ๋Šฅ๊ณผ ์—ฐ๊ด€ ๋“ฑ ๊ฐ€๋Šฅ)
๋ฐ˜์‘ํ˜•