Dataproc ํด๋Ÿฌ์Šคํ„ฐ ๋˜๋Š” ์ž์ฒด ๊ด€๋ฆฌํ˜• ํด๋Ÿฌ์Šคํ„ฐ ์—ฐ๊ฒฐ

Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“  ํ›„์—๋Š” ๋‹ค์Œ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ
  • ์ž์ฒด ๊ด€๋ฆฌํ˜• Apache Hive ์ธ์Šคํ„ด์Šค, Apache Spark ์ธ์Šคํ„ด์Šค, Presto ํด๋Ÿฌ์Šคํ„ฐ

์ด๋Ÿฌํ•œ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด ์ฟผ๋ฆฌ ์‹คํ–‰ ์ค‘ Dataproc Metastore ์„œ๋น„์Šค๋ฅผ Hive ๋ฉ”ํƒ€์Šคํ† ์–ด๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

ํ•„์š”ํ•œ ์—ญํ• 

Dataproc Metastore ๋ฐ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋‹ค์Œ IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜์„ธ์š”.

  • Dataproc Metastore ๋ฆฌ์†Œ์Šค์˜ ์ „์ฒด ์ œ์–ด์—๋Š” ๋‹ค์Œ ์—ญํ•  ์ค‘ ํ•˜๋‚˜ ํ•„์š”:
  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๋Š” ๊ฒฝ์šฐ: Dataproc VM ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•œ roles/dataproc.worker
  • Hive ์›จ์–ดํ•˜์šฐ์Šค ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ ค๋Š” ๊ฒฝ์šฐ: Dataproc VM ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•œ roles/storage.objectAdmin

์—ญํ•  ๋ถ€์—ฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœ์ ํŠธ, ํด๋”, ์กฐ์ง์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด๋Ÿฌํ•œ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์—๋Š” Dataproc Metastore ๋ฐ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์ •ํ™•ํ•œ ๊ถŒํ•œ์„ ๋ณด๋ ค๋ฉด ํ•„์ˆ˜ ๊ถŒํ•œ ์„น์…˜์„ ํŽผ์น˜์„ธ์š”.

ํ•„์ˆ˜ ๊ถŒํ•œ

Dataproc Metastore ๋ฐ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • Dataproc Metastore๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์‚ฌ์šฉ์ž ๊ณ„์ • ๋˜๋Š” ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•œ metastore.services.create ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ: ์‚ฌ์šฉ์ž ๊ณ„์ • ๋˜๋Š” ์„œ๋น„์Šค ๊ณ„์ •์— dataproc.clusters.create
  • Hive ์›จ์–ดํ•˜์šฐ์Šค ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ํ•„์š”ํ•œ ๊ถŒํ•œ: Dataproc VM ์„œ๋น„์Šค ๊ณ„์ •์— orgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.*

์ปค์Šคํ…€ ์—ญํ• ์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ • Dataproc Metastore ์—ญํ•  ๋ฐ ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ƒ์„ธ ์„ค๋ช…์€ IAM์œผ๋กœ ์•ก์„ธ์Šค ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Dataproc ํด๋Ÿฌ์Šคํ„ฐ

Dataproc์€ ์ผ๊ด„ ์ฒ˜๋ฆฌ, ์ฟผ๋ฆฌ, ์ŠคํŠธ๋ฆฌ๋ฐ, ๋จธ์‹ ๋Ÿฌ๋‹์— ์˜คํ”ˆ์†Œ์Šค ๋ฐ์ดํ„ฐ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌํ˜• Apache Spark ๋ฐ Apache Hadoop ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๊ณ ๋ ค์‚ฌํ•ญ

Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฐ๊ฒฐํ•˜๊ธฐ ์ „ Dataproc Metastore ์„œ๋น„์Šค์— ์‚ฌ์šฉ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์€ Hive Metastore ํด๋ผ์ด์–ธํŠธ๊ฐ€ Dataproc Metastore์— ์ €์žฅ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์„œ๋น„์Šค์— ํ†ตํ•ฉ ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์—๋„ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

Apache Thrift

Apache Thrift ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋‹ค์Œ ๋„คํŠธ์›Œํฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ์ ์œผ๋กœ Dataproc ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ์— ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋Š” Dataproc Metastore ์„œ๋น„์Šค ๋„คํŠธ์›Œํฌ์˜ ์„œ๋ธŒ๋„ท์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ์™€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ์†ํ•˜๋ฉด ๊ณต์œ  ๋„คํŠธ์›Œํฌ ๊ถŒํ•œ์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ Dataproc Metastore ์„œ๋น„์Šค์™€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ์†ํ•˜๋Š” ๊ฒฝ์šฐ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „ ์ถ”๊ฐ€ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

gRPC

gRPC ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋„คํŠธ์›Œํฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

  • gRPC ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ Dataproc Metastore๋ฅผ ๋งŒ๋“  ํ›„์—๋Š” ์ถ”๊ฐ€ IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Dataproc ๊ฐœ์ธ ํด๋Ÿฌ์Šคํ„ฐ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Dataproc Metastore๊ฐ€ gRPC ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ Dataproc Metastore ์„œ๋น„์Šค์™€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ์†ํ•˜๋Š” ๊ฒฝ์šฐ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „ ์ถ”๊ฐ€ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ ๋ฐ Dataproc Metastore ์—ฐ๊ฒฐ

๋‹ค์Œ ์•ˆ๋‚ด์—์„œ๋Š” Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ Dataproc Metastore ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•ˆ๋‚ด์—์„œ๋Š” Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ์ด๋ฏธ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

  • Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „ ์„ ํƒํ•œ Dataproc ์ด๋ฏธ์ง€๊ฐ€ Dataproc Metastore๋ฅผ ๋งŒ๋“ค ๋•Œ ์„ ํƒํ•œ Hive Metastore ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Dataproc ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ชฉ๋ก์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด Dataproc Metastore ์„œ๋น„์Šค์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Dataproc ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

    ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

  2. ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„ ํ•„๋“œ์— ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  3. ๋ฆฌ์ „ ๋ฐ ์˜์—ญ ๋ฉ”๋‰ด์—์„œ Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“  ๋™์ผํ•œ ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์˜์—ญ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ํด๋Ÿฌ์Šคํ„ฐ ๋งž์ถค์„ค์ • ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ์„น์…˜์—์„œ Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“  ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. Dataproc Metastore ์„น์…˜์—์„œ ์—ฐ๊ฒฐํ•˜๋ ค๋Š” Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ƒˆ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  7. ์„ ํƒ์‚ฌํ•ญ: Dataproc Metastore ์„œ๋น„์Šค์— gRPC ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ:

    1. ๋ณด์•ˆ ๊ด€๋ฆฌ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ํ”„๋กœ์ ํŠธ ์•ก์„ธ์Šค ์„น์…˜์—์„œ ์ด ํด๋Ÿฌ์Šคํ„ฐ์— ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ๋ฒ”์œ„ ์‚ฌ์šฉ ์„ค์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  8. ํ•„์š”์— ๋”ฐ๋ผ ๋‚จ์€ ์„œ๋น„์Šค ์˜ต์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ ๋ชฉ๋ก์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๊ฐ€ ํ”„๋กœ๋น„์ €๋‹์œผ๋กœ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ƒํƒœ๊ฐ€ ์‹คํ–‰ ์ค‘์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

gcloud CLI

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  Dataproc Metastore๋ฅผ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ gcloud dataproc clusters create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION \
    --scopes=SCOPES

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • CLUSTER_NAME: ์ƒˆ Dataproc ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • PROJECT_ID: Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
  • LOCATION: Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“  ๋™์ผํ•œ ๋ฆฌ์ „์ž…๋‹ˆ๋‹ค.
  • SERVICE: ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฐ๊ฒฐํ•˜๋ ค๋Š” Dataproc Metastore ์„œ๋น„์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • SCOPES: (์„ ํƒ์‚ฌํ•ญ) Dataproc Metastore ์„œ๋น„์Šค์— gRPC ์—”๋“œํฌ์ธํŠธ ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ cloud-platform์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

REST

API ์•ˆ๋‚ด์— ๋”ฐ๋ผ API ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Dataproc ํด๋Ÿฌ์Šคํ„ฐ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ์—ฐ๊ฒฐ

๋˜ํ•œ Dataproc ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ Dataproc Metastore์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†์„ฑ์—๋Š” Dataproc Metastore ENDPOINT_URI ๋ฐ WAREHOUSE_DIR์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Dataproc Metastore ์„œ๋น„์Šค์— Private Service Connect์— ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ Dataproc Metastore ์„œ๋น„์Šค์˜ ๋ณด์กฐ ๋ฒ„์ „์— ์—ฐ๊ฒฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

ENDPOINT_URI ์†์„ฑ๊ณผ WAREHOUSE_DIR ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ 1: Dataproc ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋‹ค์Œ Hive ๊ตฌ์„ฑ๊ณผ ํ•จ๊ป˜ ์†์„ฑ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud dataproc clusters create CLUSTER_NAME \
     --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์˜ต์…˜ 2: hive-site.xml ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

๋˜ํ•œ ํด๋Ÿฌ์Šคํ„ฐ์˜ hive-site.xml ํŒŒ์ผ์„ ์ง์ ‘ ์ˆ˜์ •ํ•˜์—ฌ Dataproc ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ .*-m ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  2. /etc/hive/conf/hive-site.xml ํŒŒ์ผ์„ ์—ด๊ณ  ๋‹ค์Œ ์ค„์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

    <property>
       <name>hive.metastore.uris</name>
       <!-- Update this value. -->
       <value>ENDPOINT_URI</value>
    </property>
    <!-- Add this property entry. -->
    <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>WAREHOUSE_DIR</value>
    </property>
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  3. HiveServer2๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

    sudo systemctl restart hive-server2.service
    

์ž์ฒด ๊ด€๋ฆฌํ˜• ํด๋Ÿฌ์Šคํ„ฐ

์ž์ฒด ๊ด€๋ฆฌํ˜• ํด๋Ÿฌ์Šคํ„ฐ๋Š” Apache Hive ์ธ์Šคํ„ด์Šค, Apache Spark ์ธ์Šคํ„ด์Šค, Presto ํด๋Ÿฌ์Šคํ„ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฒด ๊ด€๋ฆฌํ˜• ํด๋Ÿฌ์Šคํ„ฐ ์—ฐ๊ฒฐ

ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋‹ค์Œ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„