๊ฐ์
์ด ํ์ด์ง์์๋ Looker์์ Google BigQuery ํ์ค SQL ๋๋ Google BigQuery Legacy SQL๋ก์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Google BigQuery ํ์ค SQL ๋๋ Google BigQuery Legacy SQL ์ฐ๊ฒฐ์ ์ค์ ํ๋ ์ผ๋ฐ์ ์ธ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ Looker๊ฐ BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉํ ์ธ์ฆ์ ๊ตฌ์ฑํฉ๋๋ค. Looker๋ ๋ค์๊ณผ ๊ฐ์ BigQuery ์ธ์ฆ ์ต์ ์ ์ง์ํฉ๋๋ค.
- ์๋น์ค ๊ณ์ : ์์ธํ ๋ด์ฉ์ ์ด ํ์ด์ง์ BigQuery ์๋น์ค ๊ณ์ ์ผ๋ก ์ธ์ฆ ์น์ ์ ์ฐธ์กฐํ์ธ์.
- OAuth: ์์ธํ ๋ด์ฉ์ ์ด ํ์ด์ง์ OAuth๋ก ์ธ์ฆ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์ฐ๊ฒฐ์์ ์๊ตฌ ํ์ ํ ์ด๋ธ(PDT)์ ์ฌ์ฉํ๋ ค๋ฉด BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ Looker๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ PDT๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ง๋์ธ์. ์ ์ฐจ๋ ์ด ํ์ด์ง์ ์๊ตฌ ํ์ ํ ์ด๋ธ์ ์์ ๋ฐ์ดํฐ ์ธํธ ๋ง๋ค๊ธฐ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Looker์์ BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ Looker ์ฐ๊ฒฐ์ ์ค์ ํฉ๋๋ค. ์ ์ฐจ๋ ์ด ํ์ด์ง์ BigQuery์ Looker ์ฐ๊ฒฐ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Looker์์ Looker์ BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ฐ๊ฒฐ์ ํ ์คํธํฉ๋๋ค. ์ ์ฐจ๋ ์ด ํ์ด์ง์ ์ฐ๊ฒฐ ํ ์คํธ ์น์ ์ ์ฐธ์กฐํ์ธ์.
๋คํธ์ํฌ ํธ๋ํฝ ์ํธํ
Looker ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ด์ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ํธํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ์์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค ์ฌ์ฉ ์ค์ ๋ฌธ์ ํ์ด์ง์ ์ค๋ช ๋ ์ต์ ์ค ํ๋๋ฅผ ๊ณ ๋ คํด ๋ณด์ธ์.
BigQuery ์๋น์ค ๊ณ์ ์ผ๋ก ์ธ์ฆ
Looker์์ BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธ์ฆํ ์ ์๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ BigQuery ์๋น์ค ๊ณ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. Google Cloud ์ฝ์์ API Manager๋ฅผ ์ฌ์ฉํ์ฌ BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋น์ค ๊ณ์ ์ ๋ง๋ญ๋๋ค. ์๋น์ค ๊ณ์ ์ ๋ง๋ค๋ ค๋ฉด Google Cloud ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. ์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ์ ๊ดํ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ ๋ฐ JSON ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ธ์ฆ์ ๋ค์ด๋ก๋
BigQuery ์๋น์ค ๊ณ์ ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Google Cloud ์ฝ์์ API Manager์์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ํ์ด์ง๋ฅผ ์ด๊ณ ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ๋ฅผ ์ ํํ๊ณ ์๋น์ค ๊ณ์ ์ ์ ํํฉ๋๋ค.
์ ์๋น์ค ๊ณ์ ์ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ ์ํ๋ ๊ฒฝ์ฐ ์ค๋ช ์ ์ถ๊ฐํ ํ ๋ง๋ค๊ณ ๊ณ์ํ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
์๋น์ค ๊ณ์ ์๋ Google BigQuery ์ฌ์ ์ ์๋ ์ญํ 2๊ฐ๊ฐ ํ์ํฉ๋๋ค.
- BigQuery > BigQuery ๋ฐ์ดํฐ ํธ์ง์
- BigQuery > BigQuery ์์ ์ฌ์ฉ์
์ญํ ์ ํ ํ๋์์ ์ฒซ ๋ฒ์งธ ์ญํ ์ ์ ํํ๊ณ ๋ค๋ฅธ ์ญํ ์ถ๊ฐ๋ฅผ ์ ํํ ํ ๋ ๋ฒ์งธ ์ญํ ์ ์ ํํฉ๋๋ค.

๋ ์ญํ ์ ๋ชจ๋ ์ ํํ ํ ๊ณ์์ ์ ํํ๊ณ ์๋ฃ๋ฅผ ์ ํํฉ๋๋ค.
์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ํ์ด์ง์์ ์ ์๋น์ค ๊ณ์ ์ ์ ํํฉ๋๋ค.

ํค๋ฅผ ์ ํํ๊ณ ํค ์ถ๊ฐ๋ฅผ ์ ํํ ํ ๋๋กญ๋ค์ด์์ ์ ํค ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.

ํค ์ ํ์์ JSON์ ์ ํํ ํ ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.

JSON ํค๊ฐ ์ปดํจํฐ์ ์ ์ฅ๋ฉ๋๋ค.
๋ค์ด๋ก๋ ์์น๋ฅผ ํ์ธํ ํ ๋ซ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.

์๋ฃ๋ฅผ ์ ํํฉ๋๋ค.
์๋น์ค ๊ณ์ ์ ํด๋นํ๋ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ฐพ์ต๋๋ค. BigQuery์ ๋ํ Looker ์ฐ๊ฒฐ์ ๊ตฌ์ฑํ๋ ค๋ฉด ์ด ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.

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 ๋์ ํ๋ฉด์ ์ด๋ฏธ ๊ตฌ์ฑํ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ํ์๊ฐ ์์ผ๋ฉฐ ํ๋ก์ ํธ์ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ํ๋์ ๋์ ํ๋ฉด๋ง ๊ตฌ์ฑํ๋ฉด ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ Looker(Google Cloud ํต์ฌ ์๋น์ค) ์ฐ๊ฒฐ ๊ตฌ์ฑ ์ ์ฐจ๋ก ๋ฐ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
Looker (Google Cloud ํต์ฌ ์๋น์ค) ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Looker๋ Looker ๊ด๋ฆฌ์๊ฐ Looker (Google Cloud ํต์ฌ ์๋น์ค) ์ธ์คํด์ค๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Looker (Google Cloud ํต์ฌ ์๋น์ค) ์ธ์คํด์ค์ ๋์ผํ OAuth ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด ์น์ ๊ณผ OAuth๋ฅผ ์ฌ์ฉํ์ฌ BigQuery์ ๋ํ Looker ์ฐ๊ฒฐ ๊ตฌ์ฑ ์น์ ์ ์ ์ฐจ๋ฅผ ๊ฑด๋๋ฐ๊ณ BigQuery์์ OAuth๋ฅผ ์ฌ์ฉํ๋ Looker (Google Cloud ํต์ฌ ์๋น์ค) ๋ฌธ์์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
OAuth ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ฐ OAuth ๋์ ํ๋ฉด์ Google Cloud ์ฝ์์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. Google ์ผ๋ฐ ์ค๋ช ์ Google Cloud ์ง์ ์ฌ์ดํธ ๋ฐ Google Dev ์ฝ์ ์ฌ์ดํธ์ ์์ต๋๋ค.
Looker์์ BigQuery ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ์ฌ์ฉ์ ์ ํ๊ณผ BigQuery ๋ฐ์ดํฐ๊ฐ ๊ณต๊ฐ ๋๋ ๋น๊ณต๊ฐ์ธ์ง ์ฌ๋ถ์ ๋ฐ๋ผ OAuth๊ฐ ๊ฐ์ฅ ์ ํฉํ ์ธ์ฆ ๋ฐฉ๋ฒ์ด ์๋ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์๊ฐ Looker๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Google์ ์ธ์ฆํ ๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋ฐ์ดํฐ ์ ํ๊ณผ ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ํ์ํ ์ก์ธ์ค ์์ค์ ๊ฒฐ์ ํ๋ ค๋ฉด Google์ ํ์ธ์ด ํ์ํ ์ ์์ต๋๋ค. ํ์ธ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด ํ์ด์ง์ Google OAuth ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์์ฑ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Google OAuth ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์์ฑ
Google Cloud ์ฝ์๋ก ์ด๋ํฉ๋๋ค.
ํ๋ก์ ํธ ์ ํ ๋๋กญ๋ค์ด์์ BigQuery ํ๋ก์ ํธ๋ก ์ด๋ํฉ๋๋ค. ํ๋ก์ ํธ ๋์๋ณด๋๋ก ์ด๋ํฉ๋๋ค.
์ผ์ชฝ ๋ฉ๋ด์์ API ๋ฐ ์๋น์ค ํ์ด์ง๋ฅผ ์ ํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ ํํฉ๋๋ค. ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ํ์ด์ง์์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ ๋ฒํผ์ ์๋์ชฝ ํ์ดํ๋ฅผ ์ ํํ๊ณ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ OAuth ํด๋ผ์ด์ธํธ ID๋ฅผ ์ ํํฉ๋๋ค.
OAuth ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์์ฑํ๋ ค๋ฉด ๋จผ์ ์ฌ์ฉ์๊ฐ ๋น๊ณต๊ฐ ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ ์ ํํ ์ ์๋ OAuth ๋์ ํ๋ฉด์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. OAuth ๋์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ค๋ฉด ์ด ํ์ด์ง์ OAuth ๋์ ํ๋ฉด ๊ตฌ์ฑ ์น์ ์ ์ฐธ์กฐํ์ธ์.
OAuth ๋์ ํ๋ฉด์ ์ด๋ฏธ ๊ตฌ์ฑํ ๊ฒฝ์ฐ Google์ Looker์ ๋ํ BigQuery ์ฐ๊ฒฐ์ ์ฌ์ฉํ OAuth ํด๋ผ์ด์ธํธ ID ๋ฐ ๋ณด์ ๋น๋ฐ์ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ OAuth ํด๋ผ์ด์ธํธ ID ๋ง๋ค๊ธฐ ํ์ด์ง๋ฅผ ํ์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ๋๋กญ๋ค์ด์์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํํ์ธ์. ํ์ด์ง๊ฐ ํผ์ณ์ง๊ณ ์ถ๊ฐ ์ต์ ์ด ํ์๋ฉ๋๋ค.

์ด๋ฆ ํ๋์ Looker์ ๊ฐ์ ์ฑ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
์น์ธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์๋ณธ ์น์ ์์ + URI ์ถ๊ฐ๋ฅผ ์ ํํ์ฌ URI 1 ํ๋๋ฅผ ํ์ํฉ๋๋ค. URI 1 ํ๋์
https://๋ฅผ ํฌํจํ Looker ์ธ์คํด์ค์ URL์ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.- Looker์์ ์ธ์คํด์ค๋ฅผ ํธ์คํ
ํ๋ ๊ฒฝ์ฐ:
https://<instancename>.looker.com - ๊ณ ๊ฐ ํธ์คํ
Looker ์ธ์คํด์ค๊ฐ ์๋ ๊ฒฝ์ฐ:
https://looker.<mycompany>.com - Looker ์ธ์คํด์ค์ ํฌํธ ๋ฒํธ๊ฐ ํ์ํ ๊ฒฝ์ฐ:
https://looker.<mycompany>.com:9999
- Looker์์ ์ธ์คํด์ค๋ฅผ ํธ์คํ
ํ๋ ๊ฒฝ์ฐ:
์น์ธ๋ ๋ฆฌ๋๋ ์ 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์ ๋๋ค.๋ง๋ค๊ธฐ๋ฅผ ์ ํํ์ธ์. ํด๋ผ์ด์ธํธ ID์ ํด๋ผ์ด์ธํธ ๋ณด์ ๋น๋ฐ๋ฒํธ๊ฐ ํ์๋ฉ๋๋ค.
ํด๋ผ์ด์ธํธ ID์ ํด๋ผ์ด์ธํธ ๋ณด์ ๋น๋ฐ๋ฒํธ ๊ฐ์ ๋ณต์ฌํ์ธ์. Looker์์ BigQuery ์ฐ๊ฒฐ์ ์ฌ์ฉ๋๋ OAuth๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ํ์ํฉ๋๋ค.
OAuth ๋์ ํ๋ฉด ๊ตฌ์ฑ
Google์์๋ ๊ด๋ฆฌ์๊ฐ OAuth ๋์ ํ๋ฉด์ ์ค์ ํ๋๋ก ์๊ตฌํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ์์ ์ ๋น๊ณต๊ฐ ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ ์ ํํ ์ ์์ผ๋ฉฐ ์กฐ์ง์ ์๋น์ค ์ฝ๊ด ๋ฐ ๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ ๋งํฌ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ผ์ชฝ ๋ฉ๋ด์์ OAuth ๋์ ํ๋ฉด ํ์ด์ง๋ฅผ ์ ํํฉ๋๋ค. OAuth ๋์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ค๋ฉด ๋จผ์ ์ด ์ฑ์ ์ ๊ณตํ ์ฌ์ฉ์ ์ ํ์ ์ ํํด์ผ ํฉ๋๋ค. ์ ํํ ํญ๋ชฉ์ ๋ฐ๋ผ ์ฑ์ Google ์ธ์ฆ์ด ํ์ํ ์ ์์ต๋๋ค.

์ ํํ ํ ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค. Google์ OAuth ๋์ ํ๋ฉด ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค. ๋ด๋ถ ๋ฐ ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํจํ ํ๋ก์ ํธ์ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ์ด ํ๋ฉด์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Google์ ๋ค์ ์ค ํ๋๋ผ๋ ํด๋นํ๋ฉด ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ธํฉ๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ํ๋๊ฑฐ๋ ๋ฏผ๊ฐํ ๋ฒ์๋ฅผ ์ฌ์ฉํ๋ Google API๋ฅผ ์ฌ์ฉํจ
- OAuth ๋์ ํ๋ฉด์ ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ณ ๊ฐ ํฌํจ๋จ
- ํ๋ก์ ํธ๊ฐ ๋๋ฉ์ธ ๊ธฐ์ค์ ์ด๊ณผํจ
OAuth ๋์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ค์์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.

์ฑ ์ด๋ฆ ํ๋์ ์ฌ์ฉ์๊ฐ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฆ(์ด ๊ฒฝ์ฐ Looker)์ ์ ๋ ฅํฉ๋๋ค.
์ฌ์ฉ์ ์ง์ ์ด๋ฉ์ผ ํ๋์ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ๋๋ ๋์ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ฌธ์ํด์ผ ํ๋ ์ง์ ์ด๋ฉ์ผ์ ์ ๋ ฅํฉ๋๋ค.
๋๋ฉ์ธ ์ถ๊ฐ๋ฅผ ์ ํํ์ฌ ์น์ธ๋ ๋๋ฉ์ธ 1 ์ ๋ ฅ๋์ ํผ์นฉ๋๋ค. ์ด ์ ๋ ฅ๋์ Looker ์ธ์คํด์ค์ URL ๋๋ฉ์ธ์ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด Looker๊ฐ
https://<instance_name>.cloud.looker.com์์ ์ธ์คํด์ค๋ฅผ ํธ์คํ ํ๋ฉด ๋๋ฉ์ธ์looker.com์ ๋๋ค. ๊ณ ๊ฐ ํธ์คํ Looker ๋ฐฐํฌ์ ๊ฒฝ์ฐ Looker๋ฅผ ํธ์คํ ํ ๋๋ฉ์ธ์ ์ ๋ ฅํฉ๋๋ค.๊ฐ๋ฐ์ ์ฐ๋ฝ์ฒ ์ ๋ณด ์น์ ์์ Google์ด ๋ด ํ๋ก์ ํธ์ ๊ดํด ์ง์ํ ์ ์๋ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ํ๋ ์ด์ ์ ๋ ฅํฉ๋๋ค.
๋๋จธ์ง ์ ๋ ฅ๋์ ์ ํ์ฌํญ์ด์ง๋ง ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ํ๋ฉด์ ์ถ๊ฐ๋ก ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค.
์ ์ฅํ๊ณ ๊ณ์ํ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
๋ฒ์ ํ์ด์ง๊ฐ ํ์๋๋ฉฐ ์ฌ๊ธฐ์์ ๋ฒ์๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. Looker์๋ ๊ธฐ๋ณธ ๋ฒ์๋ง ํ์ํ๋ฏ๋ก ์ถ๊ฐ ๋ฒ์ ๊ตฌ์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ์ ์ฅํ๊ณ ๊ณ์ํ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
์์ฝ ํ์ด์ง์์ ๋์๋ณด๋๋ก ๋์๊ฐ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
์ด์ 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 ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ด๊ธฐ ์ธ์ฆ์ ์ํํ ์ ์์ต๋๋ค.
- BigQuery ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ Looker ์ฟผ๋ฆฌ์์ Google์ ์ธ์ฆ
- Looker ๊ณ์ ํ์ด์ง์ OAuth ์ฐ๊ฒฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์น์ ์์ Google์ ์ธ์ฆ
์ฟผ๋ฆฌ์์ Google์ ์ธ์ฆ
BigQuery์ ๋ํ Looker ์ฐ๊ฒฐ์ด OAuth์ ๋ํด ์ค์ ๋๋ฉด Looker๋ ์ฌ์ฉ์์๊ฒ BigQuery ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ ์ Google ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. Looker๋ ํ์, ๋์๋ณด๋, Looks, SQL Runner์์ ์ด ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.

์ฌ์ฉ์๋ ๋ก๊ทธ์ธ์ ์ ํํ๊ณ OAuth๋ก ์ธ์ฆํด์ผ ํฉ๋๋ค. BigQuery์ ์ธ์ฆํ ํ์๋ ์ฌ์ฉ์๋ ํ์์์ ์คํ ๋ฒํผ์ ์ ํํ ์ ์์ผ๋ฉฐ Looker๋ ๋ฐ์ดํฐ๋ฅผ ํ์์ ๋ก๋ํฉ๋๋ค.
์ฌ์ฉ์ ๊ณ์ ํ์ด์ง์์ Google์ ์ธ์ฆ
BigQuery์ ๋ํ Looker ์ฐ๊ฒฐ์ด OAuth์ ์ค์ ๋๋ฉด ์ฌ์ฉ์๋ Looker ์ฌ์ฉ์ ๊ณ์ ํ์ด์ง์์ Google ๊ณ์ ์ ์ธ์ฆํ ์ ์์ต๋๋ค.
- Looker์์ ํ๋กํ ์์ด์ฝ์ ์ ํํ๊ณ ์ฌ์ฉ์ ๋ฉ๋ด์์ ๊ณ์ ์ ์ ํํฉ๋๋ค.
- OAuth ์ฐ๊ฒฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์น์ ์ผ๋ก ์ด๋ํ์ฌ ์ ์ ํ BigQuery ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ๋ํ ๋ก๊ทธ์ธ ๋ฒํผ์ ์ ํํฉ๋๋ค.
- Google ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ ํ์ด์ง์์ ์ ์ ํ ๊ณ์ ์ ์ ํํฉ๋๋ค.
- 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 ์ฝ์์ ์ฌ์ฉํ์ฌ ์์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
Google Cloud ์ฝ์์ ์ด๊ณ ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
์ 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 ์๋น์ค ๊ณ์ ์ผ๋ก ์ธ์ฆ ์ฐธ์กฐ). ์๋น์ค ๊ณ์ ์ ์ ํํ๋ฉด ๋ค์ ํ๋๊ฐ ํ์๋ฉ๋๋ค.
- ์๋น์ค JSON ๋๋ P12 ํ์ผ ์ ๋ก๋: ํ์ผ ์ ๋ก๋ ๋ฒํผ์ ์ฌ์ฉํ์ฌ BigQuery ์๋น์ค ๊ณ์ ์ ์ธ์ฆ์ ํ์ผ์ ์ ๋ก๋ํฉ๋๋ค. Google Cloud API Manager์์ ์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ ๋ฐ JSON ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ธ์ฆ์ ๋ค์ด๋ก๋ ์ ์ฐจ์ ๋จ๊ณ๋ก ์ด ํ์ผ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- ์๋น์ค ๊ณ์ ์ด๋ฉ์ผ: ์ด ํ๋๋ ์๋น์ค JSON ๋๋ P12 ํ์ผ ์ ๋ก๋ ํ๋์ P12 ํ์ผ์ ์ ๋ก๋ํ๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค. Google Cloud API Manager์์ ์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ ๋ฐ JSON ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ธ์ฆ์ ๋ค์ด๋ก๋ ์ ์ฐจ์ ๋จ๊ณ๋ก ๊ฐ์ ธ์ค๋ BigQuery ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ๋น๋ฐ๋ฒํธ: BigQuery ์๋น์ค ๊ณ์ ์ P12 ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ํ์ผ ๋น๋ฐ๋ฒํธ์ ๋๋ค. ๋น๋ฐ๋ฒํธ ํ๋๋ ์๋น์ค JSON ๋๋ P12 ํ์ผ ์ ๋ก๋ ํ๋์ P12 ํ์ผ์ ์ ๋ก๋ํ๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค.
OAuth: ๊ฐ Looker ์ฌ์ฉ์๊ฐ Google BigQuery์ ์ธ์ฆํ๊ณ Looker์์ ์ฌ์ฉ์์ BigQuery ๊ณ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ๋๋ก ์น์ธํ๋ ค๋ฉด ์ด ์ต์ ์ ์ ํํฉ๋๋ค. BigQuery ์ฐ๊ฒฐ์ OAuth๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด ํ์ด์ง์ OAuth๋ก ์ธ์ฆ ์น์ ์ ์ฐธ์กฐํ์ธ์. OAuth๋ฅผ ์ ํํ๋ฉด ๋ค์ ํ๋๊ฐ ํ์๋ฉ๋๋ค.
- OAuth ํด๋ผ์ด์ธํธ ID: OAuth ํด๋ผ์ด์ธํธ ID์ ๋๋ค. ์ด ์ ๋ณด๋ Google OAuth ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์์ฑ ์ ์ฐจ์ ๋จ๊ณ์์ Google Cloud ์ฝ์์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- OAuth ํด๋ผ์ด์ธํธ ๋ณด์ ๋น๋ฐ๋ฒํธ: OAuth ํด๋ผ์ด์ธํธ ๋ณด์ ๋น๋ฐ๋ฒํธ์ ๋๋ค. ์ด ์ ๋ณด๋ Google OAuth ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์์ฑ ์ ์ฐจ์ ๋จ๊ณ์์ Google Cloud ์ฝ์์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๋ ธ๋๋น ์ต๋ ์ฐ๊ฒฐ ์: 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_buildAPI ํธ์ถ์ ์ด ์ฐ๊ฒฐ์ ์ฌ์ฉํ ์ ์๋์ง ๊ฒฐ์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ Looker ์ฐ๊ฒฐ ๋ฌธ์ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ธ์.PDT ์ฌ์ ์ ์ฌ์ฉ ์ค์ : Looker๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ PDT๋ฅผ ์ฐ๋ ๋ฐ ์ฌ์ฉํ ๋ณ๋์ ์ฐ๊ฒฐ ์ค์ ์ ๊ตฌ์ฑํ๋ ค๋ฉด ์ด ์ ํ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. PDT ์ฌ์ ์ ํ๋์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด ํ์ด์ง์ PDT ์ฌ์ ์ ์น์ ์ ์ฐธ๊ณ ํ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฐ๋: BigQuery์ ๊ธฐ๋ณธ ์๊ฐ๋๋ UTC์ ๋๋ค. ์ฌ๊ธฐ์์ ์ง์ ํ๋ ์๊ฐ๋ ์ค์ ์ BigQuery ์๊ฐ๋ ์ค์ ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Looker๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ํ์ด์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฐ๋ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์ฟผ๋ฆฌ ์๊ฐ๋: ์์ธํ ๋ด์ฉ์ Looker๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ํ์ด์ง์ ์ฟผ๋ฆฌ ์๊ฐ๋ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์ฐ๊ฒฐ์ ์ ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ํ๋๋ฅผ ์์ฑํ ํ ํ์์ ๋ฐ๋ผ ์ฐ๊ฒฐ์ ํ ์คํธํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ค์ ์ ์ ์ฅํ๋ ค๋ฉด ์ฐ๊ฒฐ์ ํด๋ฆญํฉ๋๋ค.
์ฐ๊ฒฐ ํ ์คํธ
Looker UI์ ๋ช๋ช ์์น์์ ์ฐ๊ฒฐ ์ค์ ์ ํ ์คํธํ ์ ์์ต๋๋ค.
- Looker๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ๋ฌธ์ ํ์ด์ง์ ์ค๋ช ๋ ๋๋ก ์ฐ๊ฒฐ ์ค์ ํ์ด์ง ํ๋จ์์ ํ ์คํธ ๋ฒํผ์ ์ ํํฉ๋๋ค.
- ์ฐ๊ฒฐ ๋ฌธ์ ํ์ด์ง์ ์ค๋ช ๋ ๋๋ก ์ฐ๊ฒฐ ๊ด๋ฆฌ ํ์ด์ง์ ์ฐ๊ฒฐ ๋ชฉ๋ก ์์ ์๋ ํ ์คํธ ๋ฒํผ์ ์ ํํฉ๋๋ค.
์ ์ฐ๊ฒฐ์ ๊ฒฝ์ฐ Looker์ ์ฐ๊ฒฐ ๊ฐ๋ฅ์ด ํ์๋๋ฉด ์ฐ๊ฒฐ ์ถ๊ฐ๋ฅผ ์ ํํฉ๋๋ค. Looker๋ ๋๋จธ์ง ์ฐ๊ฒฐ ํ ์คํธ๋ฅผ ์คํํ์ฌ ์๋น์ค ๊ณ์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ ํ ์ญํ ๋ก ์ค์ ๋์๋์ง ํ์ธํฉ๋๋ค.

OAuth๋ฅผ ์ฌ์ฉํ๋ ์ฐ๊ฒฐ ํ ์คํธ
- Looker์์ ๊ฐ๋ฐ ๋ชจ๋๋ก ์ด๋ํฉ๋๋ค.
- OAuth๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ์กด BigQuery ์ฐ๊ฒฐ์ ๊ฒฝ์ฐ BigQuery ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ Looker ํ๋ก์ ํธ์ ํ๋ก์ ํธ ํ์ผ๋ก ์ด๋ํฉ๋๋ค. OAuth๋ฅผ ์ฌ์ฉํ๋ ์ BigQuery ์ฐ๊ฒฐ์ ๊ฒฝ์ฐ ๋ชจ๋ธ ํ์ผ์ ์ด๊ณ ๋ชจ๋ธ์
connection๊ฐ์ ์ BigQuery ์ฐ๊ฒฐ ์ด๋ฆ์ผ๋ก ๋ฐ๊พผ ๋ค์ ๋ชจ๋ธ ํ์ผ์ ์ ์ฅํฉ๋๋ค. - ๋ชจ๋ธ์ 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-labelthat: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์ ์ฐ๊ฒฐํ ํ ์ฌ์ฉ์์ ๋ก๊ทธ์ธ ์ต์ ๊ตฌ์ฑํ๊ธฐ