Google BigQuery

๊ฐœ์š”

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Looker์—์„œ Google BigQuery ํ‘œ์ค€ SQL ๋˜๋Š” Google BigQuery Legacy SQL๋กœ์˜ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Google BigQuery ํ‘œ์ค€ SQL ๋˜๋Š” Google BigQuery Legacy SQL ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ Looker๊ฐ€ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ธ์ฆ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. Looker๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ BigQuery ์ธ์ฆ ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  2. ์—ฐ๊ฒฐ์—์„œ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”(PDT)์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— PDT๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ์ ˆ์ฐจ๋Š” ์ด ํŽ˜์ด์ง€์˜ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”์˜ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  3. Looker์—์„œ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ Looker ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ์ด ํŽ˜์ด์ง€์˜ BigQuery์— Looker ์—ฐ๊ฒฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  4. Looker์—์„œ Looker์™€ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ์ด ํŽ˜์ด์ง€์˜ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์•”ํ˜ธํ™”

Looker ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์— ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค ์‚ฌ์šฉ ์„ค์ • ๋ฌธ์„œ ํŽ˜์ด์ง€์— ์„ค๋ช…๋œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”.

BigQuery ์„œ๋น„์Šค ๊ณ„์ •์œผ๋กœ ์ธ์ฆ

Looker์—์„œ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ BigQuery ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์˜ API Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๋ ค๋ฉด Google Cloud ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์— ๊ด€ํ•œ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ ๋ฐ JSON ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ธ์ฆ์„œ ๋‹ค์šด๋กœ๋“œ

BigQuery ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์˜ API Manager์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํŽ˜์ด์ง€๋ฅผ ์—ด๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ์ƒˆ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ณ  ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•œ ํ›„ ๋งŒ๋“ค๊ณ  ๊ณ„์†ํ•˜๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  4. ์„œ๋น„์Šค ๊ณ„์ •์—๋Š” Google BigQuery ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ•  2๊ฐœ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    • BigQuery > BigQuery ๋ฐ์ดํ„ฐ ํŽธ์ง‘์ž
    • BigQuery > BigQuery ์ž‘์—… ์‚ฌ์šฉ์ž

    ์—ญํ•  ์„ ํƒ ํ•„๋“œ์—์„œ ์ฒซ ๋ฒˆ์งธ ์—ญํ• ์„ ์„ ํƒํ•˜๊ณ  ๋‹ค๋ฅธ ์—ญํ•  ์ถ”๊ฐ€๋ฅผ ์„ ํƒํ•œ ํ›„ ๋‘ ๋ฒˆ์งธ ์—ญํ• ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋‘ ์—ญํ• ์„ ๋ชจ๋‘ ์„ ํƒํ•œ ํ›„ ๊ณ„์†์„ ์„ ํƒํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  5. ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์ƒˆ ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ํ‚ค๋ฅผ ์„ ํƒํ•˜๊ณ  ํ‚ค ์ถ”๊ฐ€๋ฅผ ์„ ํƒํ•œ ํ›„ ๋“œ๋กญ๋‹ค์šด์—์„œ ์ƒˆ ํ‚ค ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  7. ํ‚ค ์œ ํ˜•์—์„œ JSON์„ ์„ ํƒํ•œ ํ›„ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  8. JSON ํ‚ค๊ฐ€ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

    ๋‹ค์šด๋กœ๋“œ ์œ„์น˜๋ฅผ ํ™•์ธํ•œ ํ›„ ๋‹ซ๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  9. ์™„๋ฃŒ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  10. ์„œ๋น„์Šค ๊ณ„์ •์— ํ•ด๋‹นํ•˜๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. BigQuery์— ๋Œ€ํ•œ Looker ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ์ด ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  11. BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๋ฉด, BigQuery์— Looker ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ Looker ์—ฐ๊ฒฐ ์ฐฝ์—์„œ ์„œ๋น„์Šค ๊ณ„์ • ์ด๋ฉ”์ผ, ์„œ๋น„์Šค ๊ณ„์ • JSON/P12 ํŒŒ์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ๋ž€์— ์ด ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด ๋ฐ ์ธ์ฆ์„œ ํŒŒ์ผ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

OAuth๋กœ ์ธ์ฆ

Looker๋Š” Google BigQuery ์—ฐ๊ฒฐ์— OAuth๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ Looker ์‚ฌ์šฉ์ž๊ฐ€ ์ž์ฒด Google OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Google์— ์ธ์ฆํ•˜๊ณ  Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜๋„๋ก ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.

OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๊ฐ€ ๋‹ค์Œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” Looker ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ์‚ฌ
  • Google ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ญํ•  ๊ธฐ๋ฐ˜ ์•ก์„ธ์Šค ์ œ์–ด ์‹œํ–‰
  • Google BigQuery์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์™€ ์ž‘์—…์— OAuth ํ† ํฐ ์‚ฌ์šฉ(BigQuery ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์—ฌ๋Ÿฌ ์œ„์น˜์— ์ž„๋ฒ ๋”ฉํ•˜์ง€ ์•Š์•„๋„ ๋จ)

OAuth๋กœ BigQuery๋ฅผ ์—ฐ๊ฒฐํ•  ๊ฒฝ์šฐ ๋‹ค์Œ์— ์œ ์˜ํ•˜์„ธ์š”.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๊ฐ€ BigQuery OAuth ํด๋ผ์ด์–ธํŠธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•œ ๋ชจ๋“  ์ผ์ •์ด๋‚˜ ์•Œ๋ฆผ์ด ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ BigQuery OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ๊ณ„์ • ํŽ˜์ด์ง€์—์„œ Looker ๊ณ„์ • ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ Google์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” BigQuery ์—ฐ๊ฒฐ์€ '์‚ฌ์šฉ์ž๋ณ„'์ด๋ฏ€๋กœ ์บ์‹ฑ ์ •์ฑ…์€ ์ฟผ๋ฆฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž๋ณ„๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, Looker๋Š” ์บ์‹ฑ ๊ธฐ๊ฐ„ ๋‚ด์— ๋™์ผํ•œ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ์บ์‹œ๋œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ๋™์ผํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์บ์‹ฑ ๊ธฐ๊ฐ„ ๋‚ด์— ๋™์ผํ•œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์บ์‹œ๋œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์บ์‹ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฟผ๋ฆฌ ์บ์‹ฑ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • OAuth๋ฅผ ์‚ฌ์šฉํ•œ BigQuery ์—ฐ๊ฒฐ์—์„œ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”(PDT)์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด PDT ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก Looker์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€์˜ BigQuery ์—ฐ๊ฒฐ์˜ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ” ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ๊ด€๋ฆฌ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋กœ ๊ฐ€์žฅํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ OAuth ์Šน์ธ ํ† ํฐ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. sudo ๋ช…๋ น์–ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉ์ž ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • OAuth ์ธ์ฆ์šฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ Google BigQuery ์—ฐ๊ฒฐ์€ ์ฟผ๋ฆฌ ์ค‘์ง€๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

OAuth์šฉ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ OAuth ๋™์˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ด ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋ฐ OAuth ๋™์˜ ํ™”๋ฉด์„ Google Cloud ์ฝ˜์†”์— ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Google ์ผ๋ฐ˜ ์„ค๋ช…์€ Google Cloud ์ง€์› ์‚ฌ์ดํŠธ ๋ฐ Google Dev ์ฝ˜์†” ์‚ฌ์ดํŠธ์— ์žˆ์Šต๋‹ˆ๋‹ค.

Looker์—์„œ BigQuery ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ์‚ฌ์šฉ์ž ์œ ํ˜•๊ณผ BigQuery ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณต๊ฐœ ๋˜๋Š” ๋น„๊ณต๊ฐœ์ธ์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ OAuth๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ•์ด ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ Looker๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Google์— ์ธ์ฆํ•  ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์— ํ•„์š”ํ•œ ์•ก์„ธ์Šค ์ˆ˜์ค€์„ ๊ฒฐ์ •ํ•˜๋ ค๋ฉด Google์˜ ํ™•์ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€์˜ Google OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ƒ์„ฑ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Google OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ƒ์„ฑ

  1. Google Cloud ์ฝ˜์†”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  2. ํ”„๋กœ์ ํŠธ ์„ ํƒ ๋“œ๋กญ๋‹ค์šด์—์„œ BigQuery ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  3. ์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ API ๋ฐ ์„œ๋น„์Šค ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ ๋ฒ„ํŠผ์˜ ์•„๋ž˜์ชฝ ํ™”์‚ดํ‘œ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ OAuth ํด๋ผ์ด์–ธํŠธ ID๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  4. OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋จผ์ € ์‚ฌ์šฉ์ž๊ฐ€ ๋น„๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” OAuth ๋™์˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. OAuth ๋™์˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ์ด ํŽ˜์ด์ง€์˜ OAuth ๋™์˜ ํ™”๋ฉด ๊ตฌ์„ฑ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  5. OAuth ๋™์˜ ํ™”๋ฉด์„ ์ด๋ฏธ ๊ตฌ์„ฑํ•œ ๊ฒฝ์šฐ Google์€ Looker์— ๋Œ€ํ•œ BigQuery ์—ฐ๊ฒฐ์— ์‚ฌ์šฉํ•  OAuth ํด๋ผ์ด์–ธํŠธ ID ๋ฐ ๋ณด์•ˆ ๋น„๋ฐ€์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” OAuth ํด๋ผ์ด์–ธํŠธ ID ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์œ ํ˜• ๋“œ๋กญ๋‹ค์šด์—์„œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ ํƒํ•˜์„ธ์š”. ํŽ˜์ด์ง€๊ฐ€ ํŽผ์ณ์ง€๊ณ  ์ถ”๊ฐ€ ์˜ต์…˜์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  6. ์ด๋ฆ„ ํ•„๋“œ์— Looker์™€ ๊ฐ™์€ ์•ฑ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  7. ์Šน์ธ๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์›๋ณธ ์„น์…˜์—์„œ + URI ์ถ”๊ฐ€๋ฅผ ์„ ํƒํ•˜์—ฌ URI 1 ํ•„๋“œ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. URI 1 ํ•„๋“œ์— https://๋ฅผ ํฌํ•จํ•œ Looker ์ธ์Šคํ„ด์Šค์˜ URL์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    • Looker์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฒฝ์šฐ: https://<instancename>.looker.com
    • ๊ณ ๊ฐ ํ˜ธ์ŠคํŒ… Looker ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ: https://looker.<mycompany>.com
    • Looker ์ธ์Šคํ„ด์Šค์— ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ: https://looker.<mycompany>.com:9999
  8. ์Šน์ธ๋œ ๋ฆฌ๋””๋ ‰์…˜ URI ์„น์…˜์—์„œ + URI ์ถ”๊ฐ€๋ฅผ ์„ ํƒํ•˜์—ฌ URI 1 ํ•„๋“œ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. URI 1 ํ•„๋“œ์— Looker ์ธ์Šคํ„ด์Šค์˜ URL์„ ์ž…๋ ฅํ•˜๊ณ  /external_oauth/redirect๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด https://<instancename>.looker.com/external_oauth/redirect ๋˜๋Š” https://looker.<mycompany>.com:9999/external_oauth/redirect์ž…๋‹ˆ๋‹ค.

  9. ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ํด๋ผ์ด์–ธํŠธ ID์™€ ํด๋ผ์ด์–ธํŠธ ๋ณด์•ˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  10. ํด๋ผ์ด์–ธํŠธ ID์™€ ํด๋ผ์ด์–ธํŠธ ๋ณด์•ˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ’์„ ๋ณต์‚ฌํ•˜์„ธ์š”. Looker์—์„œ BigQuery ์—ฐ๊ฒฐ์— ์‚ฌ์šฉ๋˜๋Š” OAuth๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Google์—์„œ๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ OAuth ๋™์˜ ํ™”๋ฉด์„ ์„ค์ •ํ•˜๋„๋ก ์š”๊ตฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ๋น„๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์กฐ์ง์˜ ์„œ๋น„์Šค ์•ฝ๊ด€ ๋ฐ ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ ๋งํฌ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ OAuth ๋™์˜ ํ™”๋ฉด ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. OAuth ๋™์˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋จผ์ € ์ด ์•ฑ์„ ์ œ๊ณตํ•  ์‚ฌ์šฉ์ž ์œ ํ˜•์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ํ•ญ๋ชฉ์— ๋”ฐ๋ผ ์•ฑ์— Google ์ธ์ฆ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ ํƒํ•œ ํ›„ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. Google์— OAuth ๋™์˜ ํ™”๋ฉด ํŽ˜์ด์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋ฐ ๊ณต๊ฐœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํฌํ•จํ•œ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด ์ด ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google์€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ํ•ด๋‹นํ•˜๋ฉด ๊ณต๊ฐœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ œํ•œ๋˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐํ•œ ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Google API๋ฅผ ์‚ฌ์šฉํ•จ
  • OAuth ๋™์˜ ํ™”๋ฉด์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ณ ๊ฐ€ ํฌํ•จ๋จ
  • ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„๋ฉ”์ธ ๊ธฐ์ค€์„ ์ดˆ๊ณผํ•จ

OAuth ๋™์˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ์˜ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ์•ฑ ์ด๋ฆ„ ํ•„๋“œ์— ์‚ฌ์šฉ์ž๊ฐ€ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด๋ฆ„(์ด ๊ฒฝ์šฐ Looker)์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  2. ์‚ฌ์šฉ์ž ์ง€์› ์ด๋ฉ”์ผ ํ•„๋“œ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ ๋˜๋Š” ๋™์˜ ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ ๋ฌธ์˜ํ•ด์•ผ ํ•˜๋Š” ์ง€์› ์ด๋ฉ”์ผ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  3. ๋„๋ฉ”์ธ ์ถ”๊ฐ€๋ฅผ ์„ ํƒํ•˜์—ฌ ์Šน์ธ๋œ ๋„๋ฉ”์ธ 1 ์ž…๋ ฅ๋ž€์„ ํŽผ์นฉ๋‹ˆ๋‹ค. ์ด ์ž…๋ ฅ๋ž€์— Looker ์ธ์Šคํ„ด์Šค์˜ URL ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Looker๊ฐ€ https://<instance_name>.cloud.looker.com์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋ฉด ๋„๋ฉ”์ธ์€ looker.com์ž…๋‹ˆ๋‹ค. ๊ณ ๊ฐ ํ˜ธ์ŠคํŒ… Looker ๋ฐฐํฌ์˜ ๊ฒฝ์šฐ Looker๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ฐœ๋ฐœ์ž ์—ฐ๋ฝ์ฒ˜ ์ •๋ณด ์„น์…˜์—์„œ Google์ด ๋‚ด ํ”„๋กœ์ ํŠธ์— ๊ด€ํ•ด ์งˆ์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ๋‚˜๋จธ์ง€ ์ž…๋ ฅ๋ž€์€ ์„ ํƒ์‚ฌํ•ญ์ด์ง€๋งŒ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์˜ ํ™”๋ฉด์„ ์ถ”๊ฐ€๋กœ ๋งž์ถค์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ์ €์žฅํ•˜๊ณ  ๊ณ„์†ํ•˜๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ๋ฒ”์œ„ ํŽ˜์ด์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ์—ฌ๊ธฐ์—์„œ ๋ฒ”์œ„๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Looker์—๋Š” ๊ธฐ๋ณธ ๋ฒ”์œ„๋งŒ ํ•„์š”ํ•˜๋ฏ€๋กœ ์ถ”๊ฐ€ ๋ฒ”์œ„ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์žฅํ•˜๊ณ  ๊ณ„์†ํ•˜๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  7. ์š”์•ฝ ํŽ˜์ด์ง€์—์„œ ๋Œ€์‹œ๋ณด๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ƒ์„ฑ ์ ˆ์ฐจ๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google OAuth ๋™์˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google ์ง€์› ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

OAuth๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery์šฉ Looker ์—ฐ๊ฒฐ ๊ตฌ์„ฑ

BigQuery ์—ฐ๊ฒฐ์— OAuth๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด BigQuery์— Looker ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ Looker OAuth ํŽ˜์ด์ง€์—์„œ OAuth ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. OAuth ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด Looker์— OAuth ํด๋ผ์ด์–ธํŠธ ID ๋ฐ OAuth ํด๋ผ์ด์–ธํŠธ ๋ณด์•ˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์˜ Google OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ƒ์„ฑ ์ ˆ์ฐจ์˜ ํ•œ ๋‹จ๊ณ„๋กœ์„œ ๊ฐ€์ ธ์˜จ ํด๋ผ์ด์–ธํŠธ ID ๋ฐ ํด๋ผ์ด์–ธํŠธ ๋ณด์•ˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ’์„ ๋ถ™์—ฌ๋„ฃ์œผ์„ธ์š”

BigQuery OAuth๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ๋Š” Google Workspace ๊ด€๋ฆฌ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„ธ์…˜ ๊ธธ์ด: BigQuery OAuth์— ์„ธ์…˜ ๊ธธ์ด๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ Looker ์„ธ์…˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ ์ œ์™ธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ Looker๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ์˜ ๋‹จ๊ณ„๋ฅผ ๋ณด๋ ค๋ฉด Google Cloud ์„œ๋น„์Šค์˜ ์„ธ์…˜ ๊ธธ์ด ์„ค์ • ๋„์›€๋ง์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
  • ์ปจํ…์ŠคํŠธ ์ธ์‹ ์•ก์„ธ์Šค ์„ค์ •: ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ OAuth ํ๋ฆ„์„ ์™„๋ฃŒํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์ด Google Workspace ์ปจํ…์ŠคํŠธ ์ธ์‹ ์•ก์„ธ์Šค ์„ค์ •์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ ์ธ์‹ ์•ก์„ธ์Šค์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปจํ…์ŠคํŠธ ์ธ์‹ ์•ก์„ธ์Šค ๊ธฐ๋Šฅ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋ณดํ˜ธํ•˜๊ธฐ ๋„์›€๋ง์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Looker ์‚ฌ์šฉ์ž๊ฐ€ OAuth๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery์— ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•

BigQuery์— ๋Œ€ํ•œ Looker ์—ฐ๊ฒฐ์ด OAuth์— ์„ค์ •๋˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ Looker์—์„œ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ์—์„œ Google์— ์ธ์ฆ

BigQuery์— ๋Œ€ํ•œ Looker ์—ฐ๊ฒฐ์ด OAuth์— ๋Œ€ํ•ด ์„ค์ •๋˜๋ฉด Looker๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ BigQuery ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Looker๋Š” ํƒ์ƒ‰, ๋Œ€์‹œ๋ณด๋“œ, Looks, SQL Runner์—์„œ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธ์„ ์„ ํƒํ•˜๊ณ  OAuth๋กœ ์ธ์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. BigQuery์— ์ธ์ฆํ•œ ํ›„์—๋Š” ์‚ฌ์šฉ์ž๋Š” ํƒ์ƒ‰์—์„œ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Looker๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰์— ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ณ„์ • ํŽ˜์ด์ง€์—์„œ Google์— ์ธ์ฆ

BigQuery์— ๋Œ€ํ•œ Looker ์—ฐ๊ฒฐ์ด OAuth์— ์„ค์ •๋˜๋ฉด ์‚ฌ์šฉ์ž๋Š” Looker ์‚ฌ์šฉ์ž ๊ณ„์ • ํŽ˜์ด์ง€์—์„œ Google ๊ณ„์ •์— ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Looker์—์„œ ํ”„๋กœํ•„ ์•„์ด์ฝ˜์„ ์„ ํƒํ•˜๊ณ  ์‚ฌ์šฉ์ž ๋ฉ”๋‰ด์—์„œ ๊ณ„์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. OAuth ์—ฐ๊ฒฐ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์„น์…˜์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ ์ ˆํ•œ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—์„œ ์ ์ ˆํ•œ ๊ณ„์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. OAuth ๋™์˜ ํ™”๋ฉด์—์„œ ํ—ˆ์šฉ์„ ์„ ํƒํ•˜์—ฌ Looker๊ฐ€ Google BigQuery์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ด๋žŒํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Looker๋ฅผ ํ†ตํ•ด Google์— ๋กœ๊ทธ์ธํ•˜๋ฉด ์‚ฌ์šฉ์ž ๊ณ„์ • ๋งž์ถค์„ค์ • ๋ฌธ์„œ ํŽ˜์ด์ง€์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๊ณ„์ • ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ์–ธ์ œ๋“ ์ง€ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋กœ๊ทธ์•„์›ƒํ•˜๊ฑฐ๋‚˜ ์žฌ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Google BigQuery ํ† ํฐ์€ ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์ง€๋งŒ ์‚ฌ์šฉ์ž๋Š” ์žฌ์Šน์ธ์„ ์„ ํƒํ•˜์—ฌ ๋‹ค๋ฅธ Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OAuth ํ† ํฐ ์ทจ์†Œ

์‚ฌ์šฉ์ž๋Š” Google ๊ณ„์ • ์„ค์ •์— ๋ฐฉ๋ฌธํ•˜์—ฌ Looker์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Google ๊ณ„์ •์œผ๋กœ์˜ ์•ก์„ธ์Šค๋ฅผ revokeํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google BigQuery ํ† ํฐ์€ ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๊ฐ€ ๊ธฐ์กด ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ฌดํšจํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์˜ OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ํ•ด๋‹น ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— Google ๊ณ„์ •์œผ๋กœ ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

BigQuery ์—ฐ๊ฒฐ์˜ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”

BigQuery ์—ฐ๊ฒฐ์— ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”(PDT)์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์—ฐ๊ฒฐ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ Looker์—์„œ PDT๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ์ด ํŽ˜์ด์ง€์˜ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”์˜ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ์ด ๋‹จ๊ณ„๋Š” ์—ฐ๊ฒฐ์˜ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์˜ต์…˜์— ๊ด€๊ณ„์—†์ด PDT์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Google Cloud ์ฝ˜์†”์—์„œ API Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Looker์˜ PDT ํ”„๋กœ์„ธ์Šค์— ๋ณ„๋„์˜ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ์ด ํŽ˜์ด์ง€์˜ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ ๋ฐ JSON ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ธ์ฆ์„œ ๋‹ค์šด๋กœ๋“œ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ธ์ฆ ์œ ํ˜•์€ PDT ์„œ๋น„์Šค ๊ณ„์ •์ด ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€, ๊ทธ๋ฆฌ๊ณ  Looker๋ฅผ BigQuery์— ์—ฐ๊ฒฐ ์„ค์ •ํ•  ๋•Œ Looker์˜ ์—ฐ๊ฒฐ ์ฐฝ์— PDT ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์œ„์น˜์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ์ธ์ฆ์— OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ PDT ํ”„๋กœ์„ธ์Šค์— ๋ณ„๋„์˜ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Looker์˜ ์—ฐ๊ฒฐ ์ฐฝ์— ์žˆ๋Š” PDT ์žฌ์ •์˜ ์„น์…˜์— ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด์™€ ์ธ์ฆ์„œ ํŒŒ์ผ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ ํ•„๋“œ์— OAuth ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•œ ์—ฐ๊ฒฐ์— PDT ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด Looker์˜ ์—ฐ๊ฒฐ ์ฐฝ์— PDT ์žฌ์ •์˜ ์„น์…˜์ด ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ OAuth๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery์— Looker ์—ฐ๊ฒฐ์šฉ PDT ์‚ฌ์šฉ ์„ค์ • ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.
    • ์‚ฌ์šฉ์ž ์ธ์ฆ์— ์„œ๋น„์Šค ๊ณ„์ •์ด ์‚ฌ์šฉ๋˜๋Š” ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ PDT ํ”„๋กœ์„ธ์Šค์— ๋ณ„๋„์˜ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„์˜ PDT ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ Looker ์—ฐ๊ฒฐ ์ฐฝ์˜ ์„œ๋น„์Šค ๊ณ„์ • ์ด๋ฉ”์ผ, ์„œ๋น„์Šค ๊ณ„์ • JSON/P12 ํŒŒ์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ์˜ PDT ์žฌ์ •์˜ ์„น์…˜์— ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ • ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ Looker๋ฅผ BigQuery์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด PDT ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด PDT ์žฌ์ •์˜ ์„น์…˜์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”์˜ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ

BigQuery ์—ฐ๊ฒฐ์— ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ” (PDT)์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด BigQuery์— Looker ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ Looker ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์—์„œ PDT ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. PDT๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด Looker์— ์ž„์‹œ ํ”„๋กœ์ ํŠธ ๋ฐ ์ž„์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ํ•„๋“œ์— Looker๊ฐ€ PDT๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ID์™€ ๋ฐ์ดํ„ฐ ์„ธํŠธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ์Šคํ‚ค๋งˆ๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์„ ์—ด๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ์  3๊ฐœ๋กœ ๋œ ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•œ ํ›„ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ๋ฐ์ดํ„ฐ ์„ธํŠธ ID(์ผ๋ฐ˜์ ์œผ๋กœ looker_scratch)๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ๋ฐ์ดํ„ฐ ์œ„์น˜(์„ ํƒ์‚ฌํ•ญ), ๊ธฐ๋ณธ ํ…Œ์ด๋ธ” ๋งŒ๋ฃŒ ์‹œ๊ฐ„, ์•”ํ˜ธํ™” ํ‚ค ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•˜์—ฌ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋ฏ€๋กœ BigQuery์— Looker ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ Looker ์—ฐ๊ฒฐ ์ฐฝ์˜ ์ž„์‹œ ํ”„๋กœ์ ํŠธ ๋ฐ ์ž„์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•„๋“œ์— ํ”„๋กœ์ ํŠธ์™€ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OAuth๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery์— Looker ์—ฐ๊ฒฐ์šฉ PDT ์‚ฌ์šฉ ์„ค์ •

OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” BigQuery ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Looker์— ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. Looker๋Š” OAuth๋ฅผ ์‚ฌ์šฉํ•œ BigQuery ์—ฐ๊ฒฐ์— PDT๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ Looker ์ž์ฒด๋Š” OAuth๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ Looker๊ฐ€ PDT ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก BigQuery ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Google Cloud API Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— PDT ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์˜ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ ๋ฐ JSON ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ธ์ฆ์„œ ๋‹ค์šด๋กœ๋“œ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉด BigQuery์— Looker ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ Looker ์—ฐ๊ฒฐ ์ฐฝ์˜ PDT ์žฌ์ •์˜ ์„น์…˜์— ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด์™€ ์ธ์ฆ์„œ ํŒŒ์ผ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. PDT ์žฌ์ •์˜ ํ•„๋“œ์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ PDT ์žฌ์ •์˜ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

PDT ์žฌ์ •์˜

OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” BigQuery ์—ฐ๊ฒฐ๊ณผ PDT์— ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด, ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋˜๋Š” ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ PDT ์žฌ์ •์˜ ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜์—ฌ ์—ฐ๊ฒฐ์˜ PDT์—๋งŒ ์ ์šฉ๋˜๋Š” ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (PDT ์žฌ์ •์˜๊ฐ€ ์œ ์šฉํ•œ ์ด์œ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€์˜ PDT ์žฌ์ •์˜ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.)

์—ฐ๊ฒฐ์— ๋Œ€ํ•ด PDT ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•œ ๊ฒฝ์šฐ Looker ์—ฐ๊ฒฐ ์ฐฝ์— PDT ์žฌ์ •์˜ ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. PDT ์žฌ์ •์˜ ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ณ  PDT ์žฌ์ •์˜ ์„น์…˜์—์„œ ๋‹ค์Œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ PDT ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  • PDT ์žฌ์ •์˜ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ID: PDT ๋นŒ๋“œ ๋ฐ ์œ ์ง€๊ด€๋ฆฌ ์ฟผ๋ฆฌ (ํŠธ๋ฆฌ๊ฑฐ ํ™•์ธ ์ฟผ๋ฆฌ)์˜ ๊ฒฐ์ œ์— ์‚ฌ์šฉํ•  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. PDT์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋Š” ์ผ๋ฐ˜ ์„ค์ •์˜ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ID ํ•„๋“œ์— ์ง€์ •๋œ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. PDT ์žฌ์ •์˜ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ๋Š” ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ์•„๋‹Œ ๊ฒฐ์ œ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„œ๋น„์Šค ๊ณ„์ •์— ์ตœ์†Œํ•œ bigquery.jobUser ์—ญํ• ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • PDT ์žฌ์ •์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ: Looker๊ฐ€ ์—ฐ๊ฒฐ์˜ PDT์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

  • PDT ์žฌ์ •์˜ ์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ: ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ์˜ PDT ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉํ•  BigQuery ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ธ์ฆ์„œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. Google Cloud API Manager์—์„œ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ ๋ฐ JSON ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ธ์ฆ์„œ ๋‹ค์šด๋กœ๋“œ ์ ˆ์ฐจ์˜ ๋‹จ๊ณ„๋กœ ์ด ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PDT ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ณ„์ •์— ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž ์ด๋ฆ„: ์ด ํ•„๋“œ๋Š” PDT ์žฌ์ •์˜ ์„น์…˜์˜ PDT ์žฌ์ •์˜ ์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ ํ•„๋“œ์— P12 ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์˜ PDT ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉํ•˜๋ ค๋Š” BigQuery ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. Google Cloud API Manager์—์„œ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ ๋ฐ JSON ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์ธ์ฆ์„œ ๋‹ค์šด๋กœ๋“œ ์ ˆ์ฐจ์˜ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ์ด ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋น„๋ฐ€๋ฒˆํ˜ธ: ์ด ํ•„๋“œ๋Š” PDT ์žฌ์ •์˜ ์„น์…˜์˜ PDT ์žฌ์ •์˜ ์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ ํ•„๋“œ์— P12 ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์˜ PDT ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉํ•˜๋ ค๋Š” BigQuery ์„œ๋น„์Šค ๊ณ„์ •์˜ .p12 ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํŒŒ์ผ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  • PDT ์žฌ์ •์˜ ์ถ”๊ฐ€ JDBC ํŒŒ๋ผ๋ฏธํ„ฐ: BigQuery ๋ผ๋ฒจ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ์˜ PDT์— ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ถ”๊ฐ€ JDBC ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€์˜ BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž‘์—… ๋ผ๋ฒจ ๋ฐ ์ปจํ…์ŠคํŠธ ์ฃผ์„ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ๋‹ค์Œ์€ ์ง€์›๋˜๋Š” ๊ธฐํƒ€ ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

    • connectTimeout: ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ). ๊ธฐ๋ณธ๊ฐ’์€ 240000์ž…๋‹ˆ๋‹ค.
    • readTimeout: ์ฝ๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ). ๊ธฐ๋ณธ๊ฐ’์€ 240000์ž…๋‹ˆ๋‹ค.
    • rootUrl: ๋น„๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ์— BigQuery ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ณต๊ฐœ ์—”๋“œํฌ์ธํŠธ ์ด์™ธ์— BigQuery์— ์—ฐ๊ฒฐํ•  ๋Œ€์ฒด ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

BigQuery์— Looker ์—ฐ๊ฒฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ Looker์— ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์—์„œ Looker์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ Looker์— ์—ฐ๊ฒฐ ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„น์…˜์—์„œ ์—ฐ๊ฒฐ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์—์„œ ์—ฐ๊ฒฐ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ํƒ์ƒ‰ ํŒจ๋„์—์„œ ๋งŒ๋“ค๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ๋‹ค์Œ ์—ฐ๊ฒฐ ๋ฉ”๋‰ด ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์„ค์ •์€ ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด์— ๊ณตํ†ต์ ์ด๋ฉฐ Looker๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์„ค์ •์€ ํŠนํžˆ ๊ฐ•์กฐํ•  ๋ถ€๋ถ„์ด๋‚˜ BigQuery ์—ฐ๊ฒฐ์— ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ ์šฉ๋˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • SQL ์–ธ์–ด: Google BigQuery ํ‘œ์ค€ SQL ๋˜๋Š” Google BigQuery Legacy SQL์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„: ์—ฐ๊ฒฐ์„ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ๋˜๋Š” ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • SSH ์„œ๋ฒ„ ์‚ฌ์šฉ ์„ค์ •: Kubernetes ์ธํ”„๋ผ์— ๋ฐฐํฌ๋˜๊ณ  SSH ์„œ๋ฒ„ ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ SSH ์„œ๋ฒ„ ์‚ฌ์šฉ ์„ค์ • ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์ผœ์„œ SSH ์„œ๋ฒ„ ๋ฐ SSH ํ„ฐ๋„ ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ID: Google Cloud ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID (๊ณ ์œ  ์‹๋ณ„์ž)์ž…๋‹ˆ๋‹ค. ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ๋Š” Google Cloud ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋˜๋Š” ํ”„๋กœ์ ํŠธ์ด์ง€๋งŒ LookML ๊ฐœ๋ฐœ์ž๊ฐ€ LookML ๋ทฐ, ํƒ์ƒ‰, ์กฐ์ธ์˜ sql_table_name ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ Google Cloud ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์—ฌ์ „ํžˆ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BigQuery์˜ ๊ฒฝ์šฐ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„ ํ˜•์‹์€ <project_name>.<dataset_name>.<table_name>์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋ฒ”์œ„ ์ฐธ์กฐ๊ฐ€ ์—†์œผ๋ฉด BigQuery๋Š” Looker์˜ BigQuery ์—ฐ๊ฒฐ์„ ์œ„ํ•ด Looker์˜ ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์—์„œ ์ง€์ •ํ•œ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ…Œ์ด๋ธ”์„ ์ฐพ์Šต๋‹ˆ๋‹ค. BigQuery์˜ ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์„ค๋ช…์€ BigQuery ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ์Šคํ† ๋ฆฌ์ง€ ํ”„๋กœ์ ํŠธ ID: ์ปดํ“จํŒ…๊ณผ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ์Šคํ† ๋ฆฌ์ง€ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค. LookML ๊ฐœ๋ฐœ์ž๊ฐ€ LookML ๋ทฐ, ํƒ์ƒ‰, ์กฐ์ธ์˜ sql_table_name ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ Google Cloud ํ”„๋กœ์ ํŠธ์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BigQuery์˜ ๊ฒฝ์šฐ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„ ํ˜•์‹์€ <project_name>.<dataset_name>.<table_name>์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋ฒ”์œ„ ์ฐธ์กฐ๊ฐ€ ์—†์œผ๋ฉด BigQuery๋Š” Looker์˜ BigQuery ์—ฐ๊ฒฐ์„ ์œ„ํ•ด Looker์˜ ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์—์„œ ์ง€์ •ํ•œ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ…Œ์ด๋ธ”์„ ์ฐพ์Šต๋‹ˆ๋‹ค. BigQuery์˜ ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์„ค๋ช…์€ BigQuery ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์„ธํŠธ: Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•  ๋•Œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ง€์ •ํ•  ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ์—ฐ๊ฒฐ์— ์ง€์ •๋œ ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ๋‚ด์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•„๋“œ์— project_name.dataset_name๊ณผ ๊ฐ™์€ ๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

    LookML ๊ฐœ๋ฐœ์ž๊ฐ€ LookML ๋ทฐ, ํƒ์ƒ‰, ์กฐ์ธ์˜ sql_table_name ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ „์ฒด ๋ฒ”์œ„์˜ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ๋‚ด LookML ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ…Œ์ด๋ธ”(๊ณต๊ฐœ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ…Œ์ด๋ธ” ํฌํ•จ)์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BigQuery์˜ ๊ฒฝ์šฐ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„ ํ˜•์‹์€ <project_name>.<dataset_name>.<table_name>์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ…Œ์ด๋ธ”์„ ์ฟผ๋ฆฌํ•˜๋ ค๋ฉด ์„œ๋น„์Šค ๊ณ„์ •(์„œ๋น„์Šค ๊ณ„์ • ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ) ๋˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ์šฉ์ž(OAuth ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ)๊ฐ€ ํ…Œ์ด๋ธ”์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. LookML ์ฝ”๋“œ์—์„œ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด BigQuery๋Š” BigQuery ์—ฐ๊ฒฐ์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ ํ•„๋“œ์— ์ง€์ •ํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ํ…Œ์ด๋ธ”์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

    ํ”„๋กœ์ ํŠธ์— ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ(๋ณ„๋„์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ปดํ“จํŒ…๊ณผ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด), ์ž„์˜์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ฐ’์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์ง€๋งŒ LookML์—์„œ ํ•ญ์ƒ ์ „์ฒด ๋ฒ”์œ„ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ์ฆ: Looker์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ธ์ฆ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜ ์ค‘ ์ผ๋ถ€๋Š” Looker(Google Cloud ํ•ต์‹ฌ ์„œ๋น„์Šค) ์ธ์Šคํ„ด์Šค์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด: (Looker(Google Cloud ํ•ต์‹ฌ ์„œ๋น„์Šค)๋งŒ ํ•ด๋‹น) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด(ADC)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ธ์ฆํ•˜๋ ค๋ฉด ์ด ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ Looker(Google Cloud ํ•ต์‹ฌ ์„œ๋น„์Šค) ๋ฌธ์„œ ์ฐธ์กฐ).
    • ์„œ๋น„์Šค ๊ณ„์ •: Looker์šฉ BigQuery ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ธ์ฆํ•˜๋ ค๋ฉด ์ด ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ BigQuery ์„œ๋น„์Šค ๊ณ„์ •์œผ๋กœ ์ธ์ฆ ์ฐธ์กฐ). ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•˜๋ฉด ๋‹ค์Œ ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    • OAuth: ๊ฐ Looker ์‚ฌ์šฉ์ž๊ฐ€ Google BigQuery์— ์ธ์ฆํ•˜๊ณ  Looker์—์„œ ์‚ฌ์šฉ์ž์˜ BigQuery ๊ณ„์ •์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜๋„๋ก ์Šน์ธํ•˜๋ ค๋ฉด ์ด ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. BigQuery ์—ฐ๊ฒฐ์— OAuth๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€์˜ OAuth๋กœ ์ธ์ฆ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”. OAuth๋ฅผ ์„ ํƒํ•˜๋ฉด ๋‹ค์Œ ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  • ๋…ธ๋“œ๋‹น ์ตœ๋Œ€ ์—ฐ๊ฒฐ ์ˆ˜: Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์—ฐ๊ฒฐ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์—ฐ๊ฒฐ ํ’€ ์ œํ•œ ์‹œ๊ฐ„: ์‚ฌ์šฉ์ž๊ฐ€ ๋…ธ๋“œ๋‹น ์ตœ๋Œ€ ์—ฐ๊ฒฐ ์ˆ˜ ์„ค์ •๋ณด๋‹ค ๋” ๋งŽ์€ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๋ฉด ์š”์ฒญ์€ ๋‹ค๋ฅธ ์š”์ฒญ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ํ›„์— ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ํ’€ ์ œํ•œ ์‹œ๊ฐ„์€ ์š”์ฒญ์ด ๋Œ€๊ธฐํ•˜๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ด ์—ฐ๊ฒฐ์˜ ์ตœ๋Œ€ ๋™์‹œ ์ฟผ๋ฆฌ ์ˆ˜: Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์— ํ•œ ๋ฒˆ์— ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋™์‹œ ์ฟผ๋ฆฌ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ด ์—ฐ๊ฒฐ์˜ ์‚ฌ์šฉ์ž๋‹น ์ตœ๋Œ€ ๋™์‹œ ์ฟผ๋ฆฌ ์ˆ˜: Looker๊ฐ€ ๊ฐ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์— ํ•œ ๋ฒˆ์— ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋™์‹œ ์ฟผ๋ฆฌ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ตœ๋Œ€ ์ฒญ๊ตฌ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ: BigQuery ์—ฐ๊ฒฐ์—์„œ๋Š” ์ฟผ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ๋„ˆ๋ฌด ๋งŽ์€ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋‹จ์ผ ์ฟผ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•˜์ง€ ์•Š์œผ๋ฉด ์ตœ๋Œ€ ์ฒญ๊ตฌ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ํ•„๋“œ๋ฅผ ๋น„์›Œ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ BigQuery ๊ฐ€๊ฒฉ ์ฑ…์ • ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ์ถ”๊ฐ€ JDBC ํŒŒ๋ผ๋ฏธํ„ฐ: BigQuery ๋ผ๋ฒจ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ JDBC ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž‘์—… ๋ผ๋ฒจ ๋ฐ ์ปจํ…์ŠคํŠธ ์ฃผ์„ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋‹ค์Œ์€ ์ง€์›๋˜๋Š” ๊ธฐํƒ€ ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

    • connectTimeout: ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ). ๊ธฐ๋ณธ๊ฐ’์€ 240000์ž…๋‹ˆ๋‹ค.
    • readTimeout: ์ฝ๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ). ๊ธฐ๋ณธ๊ฐ’์€ 240000์ž…๋‹ˆ๋‹ค.
    • rootUrl: ๋น„๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ์— BigQuery ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ณต๊ฐœ ์—”๋“œํฌ์ธํŠธ ์ด์™ธ์— BigQuery์— ์—ฐ๊ฒฐํ•  ๋Œ€์ฒด ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์œ ์ง€๋ณด์ˆ˜ ์ผ์ •: Looker ์žฌ์ƒ์„ฑ๊ธฐ์˜ cron ๊ฐ„๊ฒฉ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ ์ค‘์ง€: ์ด ์˜ต์…˜์€ BigQuery ์—ฐ๊ฒฐ์—์„œ ์ปจํ…์ŠคํŠธ ์ฃผ์„์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ ์ฃผ์„์ด Google BigQuery์˜ ์บ์‹œ ๊ธฐ๋Šฅ์„ ๋ฌดํšจํ™”ํ•˜๊ณ  ์บ์‹œ ์„ฑ๋Šฅ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ Google BigQuery ์—ฐ๊ฒฐ์˜ ์ปจํ…์ŠคํŠธ ์ฃผ์„์€ ์ค‘์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ ์ค‘์ง€ ์ „ํ™˜ ๋ฒ„ํŠผ์„ OFF๋กœ ์„ค์ •ํ•˜์—ฌ BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ์ปจํ…์ŠคํŠธ ์ฃผ์„์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž‘์—… ๋ผ๋ฒจ ๋ฐ ์ปจํ…์ŠคํŠธ ์ฃผ์„ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • SSL: Looker์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋  ๋•Œ SSL ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๋ ค๋ฉด ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ํ…Œ์ด๋ธ” ๋ฐ ์—ด ์‚ฌ์ „ ์บ์‹œ: SQL Runner๊ฐ€ ํ…Œ์ด๋ธ” ์ •๋ณด๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ๋Œ€์‹  ํ…Œ์ด๋ธ”์ด ์„ ํƒ๋œ ๊ฒฝ์šฐ์—๋งŒ ํ…Œ์ด๋ธ” ์ •๋ณด๋ฅผ ๋กœ๋“œํ•˜๋ ค๋ฉด ์ด ์˜ต์…˜์„ ์„ ํƒ ํ•ด์ œํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Looker๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์˜ ํ…Œ์ด๋ธ” ๋ฐ ์—ด ํ”„๋ฆฌ์บ์‹œ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ์Šคํ‚ค๋งˆ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ ์บ์‹œ: ์ •๋ณด ์Šคํ‚ค๋งˆ๊ฐ€ ๋А๋ฆฐ ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์Šคํ‚ค๋งˆ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ ์บ์‹œ ์˜ต์…˜์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ฉด ํŠน์ • ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ Looker SQL ์ตœ์ ํ™” ์ค‘ ์ผ๋ถ€๊ฐ€ ์ฐจ๋‹จ๋˜๋ฏ€๋กœ ์—ฐ๊ฒฐ์˜ ์ •๋ณด ์Šคํ‚ค๋งˆ๊ฐ€ ํŠนํžˆ ๋А๋ฆฌ๋‹ค๋Š” ์ ์„ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ ์Šคํ‚ค๋งˆ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ ์บ์‹œ ์˜ต์…˜์„ ์‚ฌ์šฉ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • PDT ์‚ฌ์šฉ ์„ค์ •: ์—ฐ๊ฒฐ์— ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ” (PDT)์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด ์ด ์ „ํ™˜์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€์˜ BigQuery ์—ฐ๊ฒฐ์˜ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ” ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. Looker์—์„œ PDT๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ์ด ํŽ˜์ด์ง€์˜ ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”์˜ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ์ฐธ๊ณ : ์—ฐ๊ฒฐ์ด OAuth์šฉ์œผ๋กœ ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ•œ ๊ฒฝ์šฐ PDT ์žฌ์ •์˜ ์„น์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์„ ์ง€์ •ํ•ด์•ผ ํ•˜๋ฉฐ, Looker๋Š” BigQuery ์—ฐ๊ฒฐ์˜ PDT ํ”„๋กœ์„ธ์Šค์— ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ OAuth๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigQuery์— Looker ์—ฐ๊ฒฐ์šฉ PDT ์‚ฌ์šฉ ์„ค์ • ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ์ž„์‹œ ํ”„๋กœ์ ํŠธ: PDT๋ฅผ ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค. ์ž„์‹œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Looker๋Š” ์—ฐ๊ฒฐ ์„ค์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ • ์„น์…˜์— ์žˆ๋Š” ์Šคํ† ๋ฆฌ์ง€ ํ”„๋กœ์ ํŠธ ID ํ•„๋“œ์— ์ง€์ •๋œ ํ”„๋กœ์ ํŠธ์— PDT๋ฅผ ์”๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ์ง€ ํ”„๋กœ์ ํŠธ ID๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Looker๋Š” ์—ฐ๊ฒฐ ์„ค์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ • ์„น์…˜์— ์žˆ๋Š” ๊ฒฐ์ œ ํ”„๋กœ์ ํŠธ ID ํ•„๋“œ์— ์ง€์ •๋œ ํ”„๋กœ์ ํŠธ์— PDT๋ฅผ ์”๋‹ˆ๋‹ค.

  • ์ž„์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก Google Cloud ์ฝ˜์†”์—์„œ ๋งŒ๋“  BigQuery ๋ฐ์ดํ„ฐ ์„ธํŠธ์ž…๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ์˜๊ตฌ ํŒŒ์ƒ ํ…Œ์ด๋ธ”์˜ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ตœ๋Œ€ PDT ๋นŒ๋” ์—ฐ๊ฒฐ ์ˆ˜: Looker ์žฌ์ƒ๊ธฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์—์„œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ ์‹คํ–‰ ํ…Œ์ด๋ธ” ๋นŒ๋“œ์˜ ์ตœ๋Œ€ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์‹คํŒจํ•œ PDT ๋นŒ๋“œ ์žฌ์‹œ๋„: ์‹คํŒจํ•œ PDT ๋นŒ๋“œ ์žฌ์‹œ๋„ ์ „ํ™˜ ๋ฒ„ํŠผ์ด ์‚ฌ์šฉ ์„ค์ •๋˜๋ฉด Looker ์žฌ์ƒ์„ฑ๊ธฐ๋Š” PDT์˜ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š๋”๋ผ๋„ ์ด์ „ ์žฌ์ƒ์„ฑ๊ธฐ ์ฃผ๊ธฐ์—์„œ ์‹คํŒจํ•œ PDT๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • PDT API ์ œ์–ด: ์ด ์ „ํ™˜ ๋ฒ„ํŠผ์€ start_pdt_build, check_pdt_build, stop_pdt_build API ํ˜ธ์ถœ์„ ์ด ์—ฐ๊ฒฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Looker ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • PDT ์žฌ์ •์˜ ์‚ฌ์šฉ ์„ค์ •: Looker๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— PDT๋ฅผ ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๋ณ„๋„์˜ ์—ฐ๊ฒฐ ์„ค์ •์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ์ด ์ „ํ™˜์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. PDT ์žฌ์ •์˜ ํ•„๋“œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ํŽ˜์ด์ง€์˜ PDT ์žฌ์ •์˜ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ๊ฐ„๋Œ€: BigQuery์˜ ๊ธฐ๋ณธ ์‹œ๊ฐ„๋Œ€๋Š” UTC์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ง€์ •ํ•˜๋Š” ์‹œ๊ฐ„๋Œ€ ์„ค์ •์€ BigQuery ์‹œ๊ฐ„๋Œ€ ์„ค์ •๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Looker๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ๊ฐ„๋Œ€ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ฟผ๋ฆฌ ์‹œ๊ฐ„๋Œ€: ์ž์„ธํ•œ ๋‚ด์šฉ์€ Looker๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์˜ ์ฟผ๋ฆฌ ์‹œ๊ฐ„๋Œ€ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ฐ๊ฒฐ์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ํ•„์š”์— ๋”ฐ๋ผ ์—ฐ๊ฒฐ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ค์ •์„ ์ €์žฅํ•˜๋ ค๋ฉด ์—ฐ๊ฒฐ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Looker UI์˜ ๋ช‡๋ช‡ ์œ„์น˜์—์„œ ์—ฐ๊ฒฐ ์„ค์ •์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Looker๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์—ฐ๊ฒฐ ์„ค์ • ํŽ˜์ด์ง€ ํ•˜๋‹จ์—์„œ ํ…Œ์ŠคํŠธ ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐ ๋ฌธ์„œ ํŽ˜์ด์ง€์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์—ฐ๊ฒฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์˜ ์—ฐ๊ฒฐ ๋ชฉ๋ก ์˜†์— ์žˆ๋Š” ํ…Œ์ŠคํŠธ ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

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

OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

  1. Looker์—์„œ ๊ฐœ๋ฐœ ๋ชจ๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  2. OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์กด BigQuery ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ BigQuery ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” Looker ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. OAuth๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ BigQuery ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ๋ชจ๋ธ ํŒŒ์ผ์„ ์—ด๊ณ  ๋ชจ๋ธ์˜ connection ๊ฐ’์„ ์ƒˆ BigQuery ์—ฐ๊ฒฐ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊พผ ๋‹ค์Œ ๋ชจ๋ธ ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ชจ๋ธ์˜ Explore ๋˜๋Š” ๋Œ€์‹œ๋ณด๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์—ด๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด Looker์— Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Google OAuth ๋กœ๊ทธ์ธ ํ”„๋กฌํ”„ํŠธ์— ๋”ฐ๋ผ ์ง„ํ–‰ํ•˜์„ธ์š”.

BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž‘์—… ๋ผ๋ฒจ ๋ฐ ์ปจํ…์ŠคํŠธ ์ฃผ์„

BigQuery ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ Looker์—์„œ BigQuery ์ž‘์—… ๋ผ๋ฒจ ํ˜•์‹์œผ๋กœ ์ฟผ๋ฆฌ ์ปจํ…์ŠคํŠธ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Looker๋Š” BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋‹ค์Œ ์ปจํ…์ŠคํŠธ ๋ผ๋ฒจ ํ‚ค๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

  • looker-context-user_id: Looker ์ธ์Šคํ„ด์Šค์— ์žˆ๋Š” ๊ฐ ์‚ฌ์šฉ์ž์˜ ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. ์ด ์‚ฌ์šฉ์ž ID๋ฅผ ๊ด€๋ฆฌ์ž ๋ฉ”๋‰ด์˜ ์‚ฌ์šฉ์ž ํŽ˜์ด์ง€์— ์žˆ๋Š” ์‚ฌ์šฉ์ž ID์™€ ์ผ์น˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • looker-context-history_slug: Looker ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฐ ์ฟผ๋ฆฌ์˜ ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.

  • looker-context-instance_slug: ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•œ Looker ์ธ์Šคํ„ด์Šค์˜ ID ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. Looker ์ง€์›ํŒ€์€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ํŽ˜์ด์ง€์˜ ์ถ”๊ฐ€ JDBC ๋งค๊ฐœ๋ณ€์ˆ˜ ํ…์ŠคํŠธ ์ž…๋ ฅ๋ž€์„ ์‚ฌ์šฉํ•˜์—ฌ Looker๊ฐ€ BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฟผ๋ฆฌ์™€ ํ•จ๊ป˜ ์ „์†กํ•˜๋„๋ก ์ถ”๊ฐ€ ์ž‘์—… ๋ผ๋ฒจ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ JDBC ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•„๋“œ์— JDBC ๋งค๊ฐœ๋ณ€์ˆ˜ labels๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  URL๋กœ ์ธ์ฝ”๋”ฉ๋œ key=value ์Œ์˜ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ถ”๊ฐ€ JDBC ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•„๋“œ์— ์ด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค.

labels=this%3Dconnection-label,that%3Danother-connection-label

%3D๋Š” =์˜ URL ์ธ์ฝ”๋”ฉ์ด๋ฏ€๋กœ Looker๊ฐ€ ๊ธฐ๋ณธ Looker ์ปจํ…์ŠคํŠธ ๋ผ๋ฒจ ์™ธ์—๋„ BigQuery ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ „์†กํ•˜๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ์— ๋‹ค์Œ ๋‘ ๋ผ๋ฒจ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

  • this: connection-label
  • that: another-connection-label

BigQuery์—๋Š” ์ž‘์—… ๋ผ๋ฒจ์— ๋Œ€ํ•œ ์ œํ•œ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ปจํ…์ŠคํŠธ ๋ผ๋ฒจ๊ณผ ๋™์ผํ•œ ํ‚ค๊ฐ€ ์žˆ๋Š” ์—ฐ๊ฒฐ ๋ผ๋ฒจ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐ ๋ผ๋ฒจ๊ณผ ์ปจํ…์ŠคํŠธ ๋ผ๋ฒจ์˜ ํ•ฉ์ง‘ํ•ฉ์ด ์ตœ๋Œ€ ๋ผ๋ฒจ ์ˆ˜์ธ 64๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์ปจํ…์ŠคํŠธ ๋ผ๋ฒจ์ด ๊ฐ€์žฅ ๋จผ์ € ์‚ญ์ œ๋œ ํ›„ ์—ฐ๊ฒฐ ๋ผ๋ฒจ์ด ์ถ”๊ฐ€๋˜์–ด ์ด ๋ผ๋ฒจ ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 64๊ฐœ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ผ๋ฒจ์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

Looker๋Š” ์ปจํ…์ŠคํŠธ ๋ผ๋ฒจ์ด ๋ชจ๋“  BigQuery ๋ผ๋ฒจ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์ง€๋งŒ ์—ฐ๊ฒฐ ๋ผ๋ฒจ์˜ ์œ ํšจ์„ฑ์€ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ์—ฐ๊ฒฐ ๋ผ๋ฒจ์„ ๊ตฌ์„ฑํ•˜๋ฉด ์ฟผ๋ฆฌ๊ฐ€ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Looker๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „์†กํ•˜๋Š” BigQuery ์ž‘์—… ๋ผ๋ฒจ(looker-context-user_id, looker-context-history_id, looker-context-instance_slug)์€ Looker๊ฐ€ BigQuery๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด์˜ SQL ์ฟผ๋ฆฌ์— ์ฒจ๋ถ€ํ•˜๋Š” SQL ์ปจํ…์ŠคํŠธ ์ฃผ์„๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. BigQuery ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์ปจํ…์ŠคํŠธ ์ฃผ์„์€ BigQuery์˜ ์บ์‹œ๊ธฐ๋Šฅ์„ ๋ฌดํšจํ™”ํ•˜๊ณ  ์บ์‹œ ์„ฑ๋Šฅ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ ์ค‘์ง€ ์ „ํ™˜ ๋ฒ„ํŠผ์„ ์ค‘์ง€ํ•˜๋ฉด BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ ์ฃผ์„์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BigQuery ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปจํ…์ŠคํŠธ ์ฃผ์„ ์‚ฌ์šฉ ์ค‘์ง€์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ BigQuery ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ์ปจํ…์ŠคํŠธ ์ฃผ์„ ์‚ฌ์šฉ ์ค‘์ง€ ์˜ต์…˜์„ ์„ ํƒ ํ•ด์ œํ•˜๋ฉด Looker์—์„œ SQL ์ปจํ…์ŠคํŠธ ์ฃผ์„ ๋ฐ BigQuery ์ž‘์—… ๋ผ๋ฒจ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

SQL ์ปจํ…์ŠคํŠธ ์ฃผ์„๊ณผ BigQuery ์ž‘์—… ๋ผ๋ฒจ์—๋Š” ๊ฐ™์€ ์ •๋ณด๊ฐ€ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Looker์—์„œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋‹ค์Œ SQL ์ปจํ…์ŠคํŠธ ์ฃผ์„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-- Looker Query Context

'{"user_id":1,"history_id":4757,"instance_slug":"ec2804ddef74c466f2a43e0afaa3ff6b"}'

๊ทธ๋Ÿฐ ๋‹ค์Œ Looker๋Š” ๊ฐ™์€ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ๋‹ค์Œ BigQuery ์ž‘์—… ๋ผ๋ฒจ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

[{"value":"1","key":"looker-context-user_id"},

 {"value":"4757","key":"looker-context-history_id"},

 {"value":"ec2804ddef74c466f2a43e0afaa3ff6b","key":"looker-context-instance_slug"}]

๊ธฐ๋Šฅ ์ง€์›

Looker๊ฐ€ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด๋„ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Google BigQuery ํ‘œ์ค€ SQL

Google BigQuery ํ‘œ์ค€ SQL์€ Looker 26.0๋ถ€ํ„ฐ ๋‹ค์Œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ์ง€์› ์—ฌ๋ถ€
Looker(Google Cloud ํ•ต์‹ฌ ์„œ๋น„์Šค)
๋Œ€์นญ ์ง‘๊ณ„
ํŒŒ์ƒ ํ…Œ์ด๋ธ”
์˜๊ตฌ SQL ํŒŒ์ƒ ํ…Œ์ด๋ธ”
์˜๊ตฌ ๊ธฐ๋ณธ ํŒŒ์ƒ ํ…Œ์ด๋ธ”
์•ˆ์ •์ ์ธ ๋ทฐ
์ฟผ๋ฆฌ ์ข…๋ฃŒ
SQL ๊ธฐ๋ฐ˜ ํ”ผ๋ฒ—
์‹œ๊ฐ„๋Œ€
SSL
์†Œ๊ณ„
JDBC ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜
๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„
์œ„์น˜ ์œ ํ˜•
๋ชฉ๋ก ์œ ํ˜•
๋ฐฑ๋ถ„์œ„์ˆ˜
๊ณ ์œ  ๋ฐฑ๋ถ„์œ„์ˆ˜
SQL Runner ํ‘œ์‹œ ํ”„๋กœ์„ธ์Šค
SQL Runner ์„ค๋ช… ํ…Œ์ด๋ธ”
SQL Runner ํ‘œ์‹œ ์ƒ‰์ธ
SQL Runner ์„ ํƒ 10
SQL Runner ์นด์šดํŠธ
SQL ์„ค๋ช…
OAuth 2.0 ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด
์ปจํ…์ŠคํŠธ ์ฃผ์„
์—ฐ๊ฒฐ ํ’€๋ง
HLL ์Šค์ผ€์น˜
์ง‘๊ณ„ ์ธ์‹
์ฆ๋ถ„ PDT
๋ฐ€๋ฆฌ์ดˆ
๋งˆ์ดํฌ๋กœ์ดˆ
๊ตฌ์ฒดํ™”๋œ ๋ทฐ
๊ธฐ๊ฐ„๋ณ„ ์ธก์ •
๋Œ€๋žต์ ์ธ ๊ณ ์œ ๊ฐ’

Google BigQuery Legacy SQL

Google BigQuery Legacy SQL์€ Looker 26.0๋ถ€ํ„ฐ ๋‹ค์Œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ์ง€์› ์—ฌ๋ถ€
Looker(Google Cloud ํ•ต์‹ฌ ์„œ๋น„์Šค)
๋Œ€์นญ ์ง‘๊ณ„
ํŒŒ์ƒ ํ…Œ์ด๋ธ”
์˜๊ตฌ SQL ํŒŒ์ƒ ํ…Œ์ด๋ธ”
์˜๊ตฌ ๊ธฐ๋ณธ ํŒŒ์ƒ ํ…Œ์ด๋ธ”
์•ˆ์ •์ ์ธ ๋ทฐ
์ฟผ๋ฆฌ ์ข…๋ฃŒ
SQL ๊ธฐ๋ฐ˜ ํ”ผ๋ฒ—
์‹œ๊ฐ„๋Œ€
SSL
์†Œ๊ณ„
JDBC ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜
๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„
์œ„์น˜ ์œ ํ˜•
๋ชฉ๋ก ์œ ํ˜•
๋ฐฑ๋ถ„์œ„์ˆ˜
๊ณ ์œ  ๋ฐฑ๋ถ„์œ„์ˆ˜
SQL Runner ํ‘œ์‹œ ํ”„๋กœ์„ธ์Šค
SQL Runner ์„ค๋ช… ํ…Œ์ด๋ธ”
SQL Runner ํ‘œ์‹œ ์ƒ‰์ธ
SQL Runner ์„ ํƒ 10
SQL Runner ์นด์šดํŠธ
SQL ์„ค๋ช…
OAuth 2.0 ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด
์ปจํ…์ŠคํŠธ ์ฃผ์„
์—ฐ๊ฒฐ ํ’€๋ง
HLL ์Šค์ผ€์น˜
์ง‘๊ณ„ ์ธ์‹
์ฆ๋ถ„ PDT
๋ฐ€๋ฆฌ์ดˆ
๋งˆ์ดํฌ๋กœ์ดˆ
๊ตฌ์ฒดํ™”๋œ ๋ทฐ
๊ธฐ๊ฐ„๋ณ„ ์ธก์ •
๋Œ€๋žต์ ์ธ ๊ณ ์œ ๊ฐ’

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ Looker์— ์—ฐ๊ฒฐํ•œ ํ›„ ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์˜ต์…˜ ๊ตฌ์„ฑํ•˜๊ธฐ