Gemini์ ๋์์ ๋ฐ์ ์ฟผ๋ฆฌ ์์ฑํ๊ธฐ
์ด ๋ฌธ์์์๋ BigQuery์ Gemini์์ AI ๊ธฐ๋ฐ ์ง์์ ์ฌ์ฉํ์ฌ SQL ์ฟผ๋ฆฌ์ Python ์ฝ๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. BigQuery์ Gemini๋ ์ฟผ๋ฆฌ์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ค๋ช ํ๋ฉฐ, ์ ๋ ฅํ๋ ๋์ ์ฟผ๋ฆฌ์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ฝ๋ ์ค๋ฅ๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
Google Cloud ์ฝ์์์ ์ด ํ์คํฌ์ ๋ํ ๋จ๊ณ๋ณ ์๋ด๋ฅผ ์ง์ ์ํํ๋ ค๋ฉด ๋๋ฌ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Google Cloud ๋ฅผ ์ํ Gemini๋ ์ฌ์ฉ์์ ๋ช ์์ ๊ถํ ๋ถ์ฌ ์์ด ์ฌ์ฉ์ ํ๋กฌํํธ๋ ํด๋น ์๋ต์ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ฐ์ดํฐ๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค. Google์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Google Cloud ๋ฅผ ์ํ Gemini์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฐธ์กฐํ์ธ์.
BigQuery์์๋ Gemini์ ์์ด ํ๋กฌํํธ๋ง ์ง์๋ฉ๋๋ค.
์ด ๋ฌธ์๋ SQL ์ฟผ๋ฆฌ์ BigQuery์ Colab Enterprise ๋ ธํธ๋ถ์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ๋ถ์๊ฐ, ๋ฐ์ดํฐ ๊ณผํ์, ๋ฐ์ดํฐ ๊ฐ๋ฐ์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. ์ฌ๊ธฐ์๋ BigQuery Studio ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ Python ๋ ธํธ๋ถ์ ์ฌ์ฉํ์ฌ BigQuery ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์์ํ๊ธฐ ์ ์
- Google Cloud ํ๋ก์ ํธ์ BigQuery์ Gemini๊ฐ ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ด๋ฆฌ์๊ฐ ์ด ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค. ์ด ์น์ ์ ๋๋จธ์ง ๋จ๊ณ๋ฅผ ์๋ฃํ ๋๊น์ง BigQuery์ Gemini ๊ธฐ๋ฅ์ด ์ฌ์ฉ ์ค์ง๋๊ฑฐ๋ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ ์ ์์ต๋๋ค.
- Gemini Cloud Assist๋ฅผ ์ฌ์ฉํ์ฌ Gemini Cloud Assist ์ฐฝ์์ ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด Gemini Cloud Assist ์ค์ ์ ๋จ๊ณ๋ ์ํํด์ผ ํฉ๋๋ค.
Gemini๋ฅผ ์ฌ์ฉํ์ฌ BigQuery์ Colab Enterprise ๋ ธํธ๋ถ์์ Python ์ฝ๋๋ฅผ ์ค๋ช ํ๊ณ ์์ ํ๋ ค๋ฉด ํ๋ก์ ํธ์ Colab Enterprise์ Gemini ์ค์ ์ ๋จ๊ณ๋ ์ํํด์ผ ํฉ๋๋ค.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
BigQuery ํด๋ฐ์์ pen_spark Gemini๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ธฐ๋ฅ ๋ชฉ๋ก์์ ๋ค์ ๊ธฐ๋ฅ์ด ์ ํ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
SQL ์ฟผ๋ฆฌ์ Gemini ๋ชฉ๋ก:
- ์๋ ์์ฑ(ํ๋ฆฌ๋ทฐ). ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ์ ๋ ฅํ๋ ๋์ Gemini๋ ํ์ฌ ์ฟผ๋ฆฌ ์ปจํ ์คํธ์ ๊ด๋ จ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ค์ ๋จ๊ณ๋ฅผ ์ถ์ฒํ๊ฑฐ๋ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋ณตํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
- ์๋ ์์ฑ. BigQuery ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ ์์ฐ์ด ์ฃผ์์ ์ฌ์ฉํ์ฌ BigQuery์ Gemini์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํด SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- SQL ์์ฑ ๋๊ตฌ. ๋๊ตฌ์ ์์ฐ์ด ํ ์คํธ๋ฅผ ์ ๋ ฅํ์ฌ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฏธ์ธ ์กฐ์ ํ๊ณ , ํ ์ด๋ธ ์์ค๋ฅผ ์ ํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ๋ ์ต์ ์ด ์์ต๋๋ค.
- ์ค๋ช . BigQuery์ Gemini์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํ์ฌ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฐ์ด๋ก ์ค๋ช ํ ์ ์์ต๋๋ค.
Python ๋ ธํธ๋ถ์ Gemini ๋ชฉ๋ก:
- ์ฝ๋ ์์ฑ(ํ๋ฆฌ๋ทฐ). Gemini๋ ๋ ธํธ๋ถ์ ์ฝํ ์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํฉ์ ๋ง๋ ์ ์ ํ ์ถ์ฒ์ ์ ๊ณตํฉ๋๋ค.
- ์ฝ๋ ์์ฑ. ์์ฐ์ด ๋ฌธ์ด๋ Python ์ฝ๋ ์์ฑ์ ๋ํ ์ง๋ฌธ์ผ๋ก Gemini์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํ ์ ์์ต๋๋ค.
์ด ๋ฌธ์์ ํ์คํฌ๋ฅผ ์๋ฃํ๋ ค๋ฉด ํ์ํ Identity and Access Management(IAM) ๊ถํ์ด ์๋์ง ํ์ธํฉ๋๋ค.
ํ์ํ ์ญํ
Gemini ์ด์์คํด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ํ๋ก์ ํธ์ ๋ํ Google Cloud๋ฅผ ์ํ Gemini ์ฌ์ฉ์(roles/cloudaicompanion.user
) IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ์ฌ์ ์ ์๋ ์ญํ ์๋ Gemini ์ง์์ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๊ถํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํ์ํ ์ ํํ ๊ถํ์ ๋ณด๋ ค๋ฉด ํ์ ๊ถํ ์น์ ์ ํผ์น์ธ์.
ํ์ ๊ถํ
Gemini ์ด์์คํด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ค๋ฉด ๋ค์ ๊ถํ์ด ํ์ํฉ๋๋ค.
-
cloudaicompanion.entitlements.get
-
cloudaicompanion.instances.completeTask
-
SQL ์ฟผ๋ฆฌ ์ค๋ช
:
cloudaicompanion.companions.generateChat
-
SQL ๋๋ Python ์ฝ๋ ์์ฑ:
cloudaicompanion.instances.completeCode
-
SQL ๋๋ Python ์ฝ๋ ์์ฑ:
cloudaicompanion.instances.generateCode
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ด ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์๋ ์์ต๋๋ค.
BigQuery์์ IAM ์ญํ ๋ฐ ๊ถํ์ ๋ํ ์์ธํ ๋ด์ฉ์ IAM ์๊ฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
SQL ์ฟผ๋ฆฌ ์์ฑ
๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ค๋ฉด BigQuery์ Gemini์ ์์ฐ์ด ๋ฌธ์ด๋ ์ง๋ฌธ(ํ๋กฌํํธ๋ผ๊ณ ๋ ํจ)์ ์ ๊ณตํ๋ฉด ๋ฉ๋๋ค. ์ฝ๋ ์์ด ์์ํ๊ฑฐ๋ ๋ฐ์ดํฐ ์คํค๋ง์ ๋ํ ์ง์์ด ๋ง์ง ์๊ฑฐ๋ GoogleSQL ๋ฌธ๋ฒ์ ๋ํ ๊ธฐ๋ณธ ์ง์๋ง ์๋ ์ํ์์ ์์ํ๋๋ผ๋ BigQuery์ Gemini๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ฐ ๋์์ด ๋๋ SQL์ ์์ฑํ ์ ์์ต๋๋ค.
SQL ์์ฑ ๋๊ตฌ ์ฌ์ฉ
SQL ์์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฐ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ต๊ทผ์ ๋ณด๊ฑฐ๋ ์ฟผ๋ฆฌํ ํ ์ด๋ธ์ ๊ดํ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ์ฟผ๋ฆฌ๋ฅผ ์์ ํ๊ณ SQL์ ์์ฑํ ํ ์ด๋ธ์ ์๋์ผ๋ก ์ง์ ํ ์๋ ์์ต๋๋ค.
SQL ์์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ ์์ ์๋ pen_spark SQL ์์ฑ ๋๊ตฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Gemini๋ก SQL ์์ฑํ๊ธฐ ๋ํ์์์ ์ต๊ทผ์ ๋ณด๊ฑฐ๋ ์ฟผ๋ฆฌํ ํ ์ด๋ธ์ ๋ํ ์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ต๊ทผ์
bigquery-public-data.austin_bikeshare.bikeshare_trips
ํ ์ด๋ธ์ ๋ณธ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ ์ ์์ต๋๋ค.Show me the duration and subscriber type for the ten longest trips.
์์ฑ์ ํด๋ฆญํฉ๋๋ค.
์์ฑ๋๋ SQL ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ๋น์ทํฉ๋๋ค.
SELECT subscriber_type, duration_sec FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` ORDER BY duration_sec DESC LIMIT 10;
์์ฑ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ๊ฒํ ํ๊ณ ๋ค์ ์์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- ์์ฑ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ์๋ฝํ๋ ค๋ฉด ์ฝ์ ์ ํด๋ฆญํ์ฌ ๋ฌธ์ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ์ฝ์ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์คํ์ ํด๋ฆญํ์ฌ ์ถ์ฒ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ํ๋กฌํํธ๋ฅผ ์์ ํ๋ ค๋ฉด ์์ ์ ํด๋ฆญํ ํ ์ด๊ธฐ ํ๋กฌํํธ๋ฅผ ์์ ํ๊ฑฐ๋ ๋ฐ๊ฟ๋๋ค. ํ๋กฌํํธ๋ฅผ ์์ ํ ํ ์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํ์ฌ ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
- ์ถ์ฒ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฐ ์ปจํ ์คํธ๋ก ์ฌ์ฉ๋ ํ ์ด๋ธ ์์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ํ ์ด๋ธ ์์ค ์์ ์ ํด๋ฆญํ๊ณ ์ ์ ํ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํ ํ ์ ์ฉ์ ํด๋ฆญํฉ๋๋ค.
- ์์ฑ๋ ์ฟผ๋ฆฌ์ ์์ฐ์ด ์์ฝ์ ๋ณด๋ ค๋ฉด ์ฟผ๋ฆฌ ์์ฝ์ ํด๋ฆญํฉ๋๋ค.
- ์ถ์ฒ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ฏธ์ธ ์กฐ์ ํ๋ ค๋ฉด ๋ฏธ์ธ ์กฐ์ ํ๋์ ๋ฏธ์ธ ์กฐ์ ์ฌํญ์ ์
๋ ฅํ ํ
limit to 1000
์ ์ ๋ ฅํฉ๋๋ค. ์ฟผ๋ฆฌ ๋ณ๊ฒฝ์ฌํญ์ ๋น๊ตํ๋ ค๋ฉด ์ฐจ์ด์ ํ์ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค.
๋ฏธ์ธ ์กฐ์ ์ ํด๋ฆญํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์๋ฅผ ์ ํํ๋ ค๋ฉด - ์ถ์ฒ ์ฟผ๋ฆฌ๋ฅผ ๋ซ์ผ๋ ค๋ฉด SQL ์์ฑ ๋๊ตฌ๋ฅผ ๋ซ์ต๋๋ค.
SQL ์์ฑ ๋๊ตฌ ์ฌ์ฉ ์ค์ง
SQL ์์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด Gemini ์ฟผ๋ฆฌ ์ด์์คํดํธ ๊ธฐ๋ฅ ์ฌ์ฉ ์ค์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฃผ์์์ SQL ์์ฑ
์ฃผ์์ ์ํ๋ ์ฟผ๋ฆฌ๋ฅผ ์ค๋ช ํ์ฌ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ SQL์ ์์ฑํ ์ ์์ต๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์
๋ฅผ ํด๋ฆญํฉ๋๋ค. SQL ์ฟผ๋ฆฌ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ ์ต๊ทผ์ ๋ณด๊ฑฐ๋ ์ฟผ๋ฆฌํ ํ ์ด๋ธ์ ๊ดํ SQL ์ฃผ์์ ์์ฑํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ต๊ทผ์
bigquery-public-data.austin_bikeshare.bikeshare_trips
ํ ์ด๋ธ์ ๋ณธ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์์ ์์ฑํ ์ ์์ต๋๋ค.# Show me the duration and subscriber type for the ten longest trips.
Enter ํค(macOS์์๋ Return ํค)๋ฅผ ๋๋ฆ ๋๋ค.
์ถ์ฒ SQL ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค.
# Show me the duration and subscriber type for the ten longest trips SELECT duration_sec, subscriber_type AVG(duration_minutes) AS average_trip_length FROM `bigquery-public-data.austin_bikeshare.bikeshare_trips` ORDER BY duration_sec LIMIT 10;
์ถ์ฒ๋ ๋ด์ฉ์ ์ฌ์ฉํ๋ ค๋ฉด Tab ํค๋ฅผ ๋๋ฅด์ธ์.
Gemini Cloud Assist๋ก SQL ์์ฑ
Google Cloud ์ฝ์์ Cloud Assist ํจ๋์ ์ฌ์ฉํ์ฌ BigQuery์์ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
Gemini Cloud Assist ์ฑํ ์ ์ฌ์ฉํ์ฌ SQL์ ์์ฑํ๋ ค๋ฉด ๋จผ์ Gemini Cloud Assist๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Gemini Cloud Assist ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์
๋ฅผ ํด๋ฆญํ์ฌ ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์ฝ๋๋ค. SQL ์ฟผ๋ฆฌ In the Google Cloud toolbar, click spark Open or close Gemini AI chat to open Gemini Cloud Assist chat.
ํ๋กฌํํธ ์ ๋ ฅ ํ๋์ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Generate a SQL query to show me the duration and subscriber type for the ten longest trips.
ํ๋กฌํํธ ์ ์ก์ ํด๋ฆญํฉ๋๋ค. ๋๋ต์๋ ๋ค์๊ณผ ์ ์ฌํ SQL ์ฟผ๋ฆฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
SELECT subscriber_type, duration_sec FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` ORDER BY duration_sec DESC LIMIT 10; ```
์์ฑ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ๊ฒํ ํฉ๋๋ค.
์์ฑ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ค๋ฉด
ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ๋ฅผ ํด๋ฆญํ๊ณ ์์ฑ๋ ์ฝ๋๋ฅผ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ๋ถ์ฌ๋ฃ์ ๋ค์ ์คํ์ ํด๋ฆญํฉ๋๋ค.
SQL ์์ฑ ํ
๋ค์ ํ์ BigQuery์ Gemini์์ ์ ๊ณตํ๋ ์ถ์ฒ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉํ ํ
์ด๋ธ์ ์๋์ผ๋ก ์ง์ ํ๋ ค๋ฉด ์ ๊ทํ๋ ํ
์ด๋ธ ์ด๋ฆ์ ๋ฐฑํฑ(
`
)์ผ๋ก ๋ฌถ์ด ํฌํจํฉ๋๋ค(์:`PROJECT.DATASET.TABLE`
). - ์ด ์ด๋ฆ ๋๋ ์๋งจํฑ ๊ด๊ณ๊ฐ ๋ช ํํ์ง ์๊ฑฐ๋ ๋ณต์กํ ๊ฒฝ์ฐ ํ๋กฌํํธ์ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํ์ฌ Gemini๊ฐ ๊ฐ๋ฐ์๊ฐ ์ํ๋ ๋ต๋ณ์ ์ ๊ณตํ๋๋ก ์๋ดํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ฑ๋ ์ฟผ๋ฆฌ๊ฐ ์ด ์ด๋ฆ์ ์ฐธ์กฐํ๋๋ก ํ๋ ค๋ฉด ์ด ์ด๋ฆ๊ณผ ์ํ๋ ๋ต๋ณ๊ณผ์ ๊ด๋ จ์ฑ์ ์ค๋ช ํฉ๋๋ค. ํ์ ๊ฐ์น ๋๋ ์ด์ด์ต๊ณผ ๊ฐ์ด ๋ณต์กํ ์ฉ์ด๋ฅผ ์ฐธ์กฐํ๋ ๋ต๋ณ์ ์ ๋ํ๋ ค๋ฉด ๊ฐ๋ ๋ฐ ๋ฐ์ดํฐ์์ ๊ด๋ จ์ฑ์ ์ค๋ช ํ์ฌ SQL ์์ฑ ๊ฒฐ๊ณผ๋ฅผ ํฅ์์ํต๋๋ค.
- ์ฃผ์์์ SQL์ ์์ฑํ ๋ ๊ฐ ์ค ์์
#
๋ฌธ์๋ฅผ ๋ถ์ฌ ์ฌ๋ฌ ์ค์ ๊ฑธ์ณ ํ๋กฌํํธ ํ์์ ์ง์ ํ ์ ์์ต๋๋ค. - ์ด ์ค๋ช ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ ๊ณ ๋ ค๋ฉ๋๋ค. ์ ํ์ฑ์ ๊ฐ์ ํ๋ ค๋ฉด ์คํค๋ง์ ์ด ์ค๋ช ์ ์ถ๊ฐํ์ธ์. ์ด ์ค๋ช ์ ๊ดํ ์์ธํ ๋ด์ฉ์ '์คํค๋ง ์ง์ '์ ์ด ์ค๋ช ์ ์ฐธ์กฐํ์ธ์.
SQL ์ฟผ๋ฆฌ ์์ฑ
SQL ์์ฑ์ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ์ฝํ ์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ ์คํธ์ ๋ฐ๋ผ ์ ์ ํ ์ถ์ฒ์ ์ ๊ณตํ๋ ค๊ณ ํฉ๋๋ค. ์ ๋ ฅํ๋ ๋์ Gemini๋ ํ์ฌ ์ฟผ๋ฆฌ์ ์ปจํ ์คํธ์ ๊ด๋ จ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ค์ ๋จ๊ณ๋ฅผ ์ถ์ฒํ๊ฑฐ๋ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋ณตํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
BigQuery์ Gemini๋ฅผ ์ฌ์ฉํ์ฌ SQL ์์ฑ์ ์ฌ์ฉํด ๋ณด๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ๋ณต์ฌํฉ๋๋ค.
SELECT subscriber_type , EXTRACT(HOUR FROM start_time) AS hour_of_day , AVG(duration_minutes) AS avg_trip_length FROM `bigquery-public-data.austin_bikeshare.bikeshare_trips`
subscriber_type
์ด ๊ทธ๋ฃนํ๋๊ฑฐ๋ ์ง๊ณ๋์ง ์์๋ค๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์ํด ๋์์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.subscriber_type
์ ์ค ๋์์ ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฆ ๋๋ค.์ถ์ฒ๋ ์ฟผ๋ฆฌ ์์ธ๊ฒ์์ ๋ค์๊ณผ ์ ์ฌํ ํ ์คํธ๋ก ๋๋ ์ ์์ต๋๋ค.
GROUP BY subscriber_type, hour_of_day;
Enter ํค(macOS์์๋ Return ํค)๋ฅผ ๋๋ฌ ์ถ์ฒ์ ์์ฑํ ์๋ ์์ต๋๋ค.
์ถ์ฒ์ ์๋ฝํ๋ ค๋ฉด Tab ํค๋ฅผ ๋๋ฅด๊ฑฐ๋ ์ถ์ฒ ํ ์คํธ ์์ ๋ง์ฐ์ค ํฌ์ธํฐ๋ฅผ ์ฌ๋ ค๋๊ณ ๊ฐ ์ถ์ฒ ๋์์ ํด๋ฆญํ์ธ์. ์ถ์ฒ ํญ๋ชฉ์ ๋ซ์ผ๋ ค๋ฉด Esc ํค๋ฅผ ๋๋ฅด๊ฑฐ๋ ๊ณ์ ์ ๋ ฅํฉ๋๋ค.
SQL ์ฟผ๋ฆฌ ์ค๋ช
SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฐ์ด๋ก ์ค๋ช ํ๋๋ก BigQuery์ Gemini์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ค๋ช ์ ์ฟผ๋ฆฌ์ ๊ธธ์ด ๋๋ ๋ณต์ก์ฑ์ผ๋ก ์ธํด ๋ฌธ๋ฒ, ๊ธฐ๋ณธ ์คํค๋ง, ๋น์ฆ๋์ค ์ปจํ ์คํธ๋ฅผ ํ๊ฐํ๊ธฐ ์ด๋ ค์ธ ์ ์๋ ์ฟผ๋ฆฌ๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
SQL ์ฟผ๋ฆฌ์ ๋ํ ์ค๋ช ์ ๋ณด๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์์ ์ค๋ช ์ด ํ์ํ ์ฟผ๋ฆฌ๋ฅผ ์ด๊ฑฐ๋ ๋ถ์ฌ๋ฃ์ต๋๋ค.
BigQuery์ Gemini์์ ์ค๋ช ํ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์กฐ ํ์ํฉ๋๋ค.
astrophotography_mode Gemini๋ฅผ ํด๋ฆญํ ๋ค์ ์ด ์ฟผ๋ฆฌ ์ค๋ช ์ ํด๋ฆญํฉ๋๋ค.
SQL ์ค๋ช ์ด Cloud ํจ๋์ ํ์๋ฉ๋๋ค.
Python ์ฝ๋ ์์ฑ
์์ฐ์ด ๋ฌธ์ด๋ ์ง๋ฌธ์ผ๋ก BigQuery์ Gemini์ Python ์ฝ๋ ์์ฑ์ ์์ฒญํ ์ ์์ต๋๋ค. BigQuery์ Gemini๋ BigQuery ํ๋ก์ ํธ์์ ์ง์ ๊ด๋ จ ํ ์ด๋ธ ์ด๋ฆ์ ๊ฐ์ ธ์ Python ์ฝ๋ ์ถ์ฒ ํ๋ ์ด์์ผ๋ก ์๋ตํ๋ฏ๋ก ์คํ ๊ฐ๋ฅํ ๋ง์ถคํ Python ์ฝ๋๊ฐ ์์ฑ๋ฉ๋๋ค.
Python ์ฝ๋ ์์ฑ ๋๊ตฌ ์ฌ์ฉ
๋ค์ ์์์์๋ BigQuery ๊ณต๊ฐ ๋ฐ์ดํฐ ์ธํธ bigquery-public-data.ml_datasets.penguins
์ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ํญ ํ์์ค์์
SQL ์ฟผ๋ฆฌ ์์ ์๋ ๋๋กญ๋ค์ด ํ์ดํ๋ฅผ ํด๋ฆญํ ํ ๋ ธํธ๋ถ์ ํด๋ฆญํฉ๋๋ค.bigquery-public-data.ml_datasets.penguins
๊ณต๊ฐ ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ์ฟผ๋ฆฌ ์์๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ ์ด ํฌํจ๋ ์ ๋ ธํธ๋ถ์ด ์ด๋ฆฝ๋๋ค.์ ์ฝ๋ ์ ์ ์ฝ์ ํ๋ ค๋ฉด ํด๋ฐ์์
์ฝ๋๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ ์ฝ๋ ์ ์๋ ์ฝ๋ฉ์ ์์ํ๊ฑฐ๋ AI๋ก ์์ฑํ์ธ์ ๋ฉ์์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.์ ์ฝ๋ ์ ์์ ์์ฑ์ ํด๋ฆญํฉ๋๋ค.
์์ฑ ํธ์ง๊ธฐ์์ ๋ค์ ์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
Using bigquery magics, query the `bigquery-public-data.ml_datasets.penguins` table
Enter ํค(macOS์์๋ Return ํค)๋ฅผ ๋๋ฆ ๋๋ค.
์ถ์ฒ Python ์ฝ๋๋ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค.
%%bigquery SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 10
์ฝ๋๋ฅผ ์คํํ๋ ค๋ฉด
์ ์คํ์ ๋๋ฆ ๋๋ค.
Gemini Cloud Assist๋ก Python ์ฝ๋ ์์ฑ
Google Cloud ์ฝ์์์ Gemini Cloud Assist๋ฅผ ์ฌ์ฉํ์ฌ BigQuery์์ Python ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. Gemini Cloud Assist๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๋จผ์ Gemini Cloud Assist๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Gemini Cloud Assist ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ํญ ํ์์ค์์
SQL ์ฟผ๋ฆฌ ์์ ์๋ ๋๋กญ๋ค์ด ํ์ดํ๋ฅผ ํด๋ฆญํ ํ ๋ ธํธ๋ถ์ ํด๋ฆญํฉ๋๋ค.In the Google Cloud toolbar, click spark Open or close Gemini AI chat to open Gemini Cloud Assist chat.
ํ๋กฌํํธ ์ ๋ ฅ ํ๋์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํ์ฌ Python ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Generate python code to query the `bigquery-public-data.ml_datasets.penguins` table using bigquery magics
ํ๋กฌํํธ ์ ์ก(
)์ ํด๋ฆญํฉ๋๋ค. Gemini๋ ๋ค์๊ณผ ์ ์ฌํ Python ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค.%%bigquery SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 10
์์ฑ๋ Python ์ฝ๋๋ฅผ ๊ฒํ ํฉ๋๋ค.
Python ์ฝ๋๋ฅผ ์คํํ๋ ค๋ฉด
ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ๋ฅผ ํด๋ฆญํ๊ณ ์์ฑ๋ ์ฝ๋๋ฅผ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ๋ถ์ฌ๋ฃ์ ํ ์คํ์ ํด๋ฆญํฉ๋๋ค.
BigQuery DataFrames ์ฝ๋ ์์ฑ
BigQuery์ Gemini๋ก BigQuery DataFrames ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์์ฑ๋ ์ฝ๋์์ BigQuery DataFrames๋ฅผ ์ฌ์ฉํ๋๋ก Gemini์ ์์ฒญํ๋ ค๋ฉด ํ๋กฌํํธ์์ ์๋๋ฅผ ํํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ๋กฌํํธ๋ฅผ 'bigframes ์ฌ์ฉ' ๋๋ 'BigQuery DataFrames ํ์ฉ'์ผ๋ก ์์ํ ์ ์์ต๋๋ค.
BigQuery DataFrames๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- bigframes.pandas: ๋ถ์์ ์ํ pandas ํธํ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
- bigframes.ml: ๋จธ์ ๋ฌ๋(ML)์ ์ํ scikit-learn๊ณผ ๊ฐ์ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
Gemini ์ฝ๋ ์์ฑ์ bigframes.pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ต์ ํ๋์ด ์์ต๋๋ค.
BigQuery DataFrames ๋ฐ BigQuery DataFrames๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์์ธํ ์์๋ณด๋ ค๋ฉด BigQuery DataFrames ๊ถํ์ ์ฐธ์กฐํ์ธ์.
BigQuery DataFrames๋ ์คํ์์ค ํจํค์ง์
๋๋ค.
pip install --upgrade bigframes
๋ฅผ ์คํํ์ฌ ์ต์ ๋ฒ์ ์ ์ค์นํ ์ ์์ต๋๋ค.
๋ค์ ์์์์๋ BigQuery ๊ณต๊ฐ ๋ฐ์ดํฐ ์ธํธ bigquery-public-data.ml_datasets.penguins
์ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ํญ ํ์์ค์์
SQL ์ฟผ๋ฆฌ ์์ ์๋ ๋๋กญ๋ค์ด ํ์ดํ๋ฅผ ํด๋ฆญํ ํ ๋ ธํธ๋ถ์ ํด๋ฆญํฉ๋๋ค.์ ๋ ธํธ๋ถ์ด ์ด๋ฆฝ๋๋ค.
์ ์ฝ๋ ์ ์ ์ฝ์ ํ๋ ค๋ฉด ํด๋ฐ์์
์ฝ๋๋ฅผ ํด๋ฆญํฉ๋๋ค.์ ์ฝ๋ ์ ์๋ ์ฝ๋ฉ์ ์์ํ๊ฑฐ๋ AI๋ก ์์ฑํ์ธ์ ๋ฉ์์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ ์ฝ๋ ์ ์์ ์์ฑ์ ํด๋ฆญํฉ๋๋ค.
์์ฑ ํธ์ง๊ธฐ์์ ๋ค์ ์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
Read the penguins table from the BigQuery public data using bigframes
Enter ํค(macOS์์๋ Return ํค)๋ฅผ ๋๋ฆ ๋๋ค.
์ถ์ฒ Python ์ฝ๋๋ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค.
import bigframes.pandas as bpd # Read the penguins table from the BigQuery public data using bigframes result = bpd.read_gbd("bigquery-public-data.ml_datasets.penguins")
์ฝ๋๋ฅผ ์คํํ๋ ค๋ฉด
์ ์คํ์ ๋๋ฆ ๋๋ค.๊ฒฐ๊ณผ๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๋ ค๋ฉด ํด๋ฐ์์
์ฝ๋๋ฅผ ํด๋ฆญํ์ฌ ์ ์ฝ๋ ์ ์ ์ฝ์ ํฉ๋๋ค.์ ์ ์์
peek()
๋ฉ์๋(์:result.peek()
)๋ฅผ ํธ์ถํ๊ณ ์ ์คํ์ ๋๋ฆ ๋๋ค. ๋ฐ์ดํฐ ํ ์ฌ๋ฌ ๊ฐ๊ฐ ํ์๋ฉ๋๋ค.
์ ์ฒด Python ์ฝ๋
Python ์ฝ๋ ์์ฑ์ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ์ฝํ ์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ์ถ์ฒ์ ์ ๊ณตํ๋ ค๊ณ ํฉ๋๋ค. ์ ๋ ฅํ๋ ๋์ BigQuery์ Gemini๋ ํ์ฌ ์ฝ๋ ์ปจํ ์คํธ์ ๊ด๋ จ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ค์ ๋จ๊ณ๋ฅผ ์ ์ํ๊ฑฐ๋ ์ฝ๋๋ฅผ ๋ฐ๋ณตํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
BigQuery์ Gemini๋ฅผ ์ฌ์ฉํ์ฌ Python ์ฝ๋ ์์ฑ์ ์ฌ์ฉํด ๋ณด๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฟผ๋ฆฌ ํธ์ง๊ธฐ์ ํญ ํ์์ค์์
SQL ์ฟผ๋ฆฌ ์์ ์๋ ๋๋กญ๋ค์ด ํ์ดํ๋ฅผ ํด๋ฆญํ ํ ๋ ธํธ๋ถ์ ํด๋ฆญํฉ๋๋ค.bigquery-public-data.ml_datasets.penguins
๊ณต๊ฐ ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ์ฟผ๋ฆฌ ์์๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ ์ด ํฌํจ๋ ์ ๋ ธํธ๋ถ์ด ์ด๋ฆฝ๋๋ค.ํธ์ง๊ธฐ์์ Python ์ฝ๋๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด
%%bigquery
์ ๋๋ค. BigQuery์ Gemini๋ ์ ๋ ฅํ๋ ๋์ ์ฝ๋ ์ธ๋ผ์ธ์ ์ ์ํฉ๋๋ค.์ถ์ฒ๋ ๋ด์ฉ์ ์ฌ์ฉํ๋ ค๋ฉด Tab ํค๋ฅผ ๋๋ฅด์ธ์.
Python ์ฝ๋ ์ค๋ช
BigQuery์ Gemini๋ฅผ ์ฌ์ฉํ์ฌ Colab Enterprise ๋ ธํธ๋ถ์ Python ์ฝ๋๋ฅผ ์ค๋ช ํ ์ ์์ต๋๋ค.
์ค๋ช ์ ๋ฐ์ ํ ์ฝ๋๋ฅผ ๋ ์ ์ดํดํ๋๋ก ํ๋กฌํํธ ๋ํ์์์์ ๋ ๋ง์ ์ง๋ฌธ์ ํ ์ ์์ต๋๋ค.
๋ ธํธ๋ถ์ Python ์ฝ๋์ ๋ํ ์ค๋ช ์ ๋ณด๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
ํ์๊ธฐ ์ฐฝ์์ ํ๋ก์ ํธ์ Notebooks ํด๋๋ฅผ ํผ์นฉ๋๋ค.
์ด๋ ค๋ ๋ ธํธ๋ถ์ ํด๋ฆญํฉ๋๋ค.
์ดํดํ๋ ค๋ Python ์ ์ ๊ฐ์กฐ ํ์ํฉ๋๋ค.
spark Gemini๋ฅผ ํด๋ฆญํ ํ ์ฝ๋ ์ค๋ช ์ ํด๋ฆญํฉ๋๋ค.
์ฝ๋ ์ค๋ช ์ด ์ ์์ ํจ๋์ ํ์๋ฉ๋๋ค.
์ ํ์ฌํญ: ์ฝ๋๋ฅผ ๋ ์ ์ดํดํ๋ ค๋ฉด ์ฌ๊ธฐ์ ํ๋กฌํํธ ์ ๋ ฅ ํ๋์ ์ง๋ฌธ์ ์ ๋ ฅํฉ๋๋ค.
Python ์ค๋ฅ ์์ ๋ฐ ์ค๋ช
BigQuery์ Gemini๋ฅผ ์ฌ์ฉํ์ฌ Colab Enterprise ๋ ธํธ๋ถ์ Python ์ฝ๋ ์ค๋ฅ๋ฅผ ์์ ํ๊ณ ์ค๋ช ํ ์ ์์ต๋๋ค.
Gemini ์ด์์คํด์ค๋ก ์ฝ๋ ์ค๋ฅ๋ฅผ ์์ ํ๊ฑฐ๋ ์ดํดํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
ํ์๊ธฐ ์ฐฝ์์ ํ๋ก์ ํธ์ Notebooks ํด๋๋ฅผ ํผ์นฉ๋๋ค.
์ด๋ ค๋ ๋ ธํธ๋ถ์ ํด๋ฆญํฉ๋๋ค.
๋ ธํธ๋ถ์ ์ฝ๋ ์ ์ ์ค๋ฅ๊ฐ ํฌํจ๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ ํ ์ ์ ์คํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ซ๋ ๊ดํธ๊ฐ ๋๋ฝ๋
print(1
์ ์ ๋ ฅํ ์ ์์ต๋๋ค.์ฝ๋ ์ ์ด ์คํ๋๋ฉด ๋ ธํธ๋ถ์ ์ฝ๋ ์ ์๋์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. Python ๋ ธํธ๋ถ์์ Gemini๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ณ Gemini์ ์ค๋ฅ๋ฅผ ์์ ํ๊ฑฐ๋ ์ค๋ช ํ๋ ์ถ์ฒ์ด ์์ผ๋ฉด ๋ค์ ์ต์ ์ค ํ๋๊ฐ ํ์๋ฉ๋๋ค.
- Python ๋ฌธ๋ฒ ์ค๋ฅ์ ๊ฒฝ์ฐ ์ค๋ฅ ์์ ์ต์ ์ด ํ์๋ฉ๋๋ค.
- ๋ค๋ฅธ ๋ชจ๋ ์ ํ์ ์ค๋ฅ์ ๊ฒฝ์ฐ ์ค๋ฅ ์ค๋ช ์ต์ ์ด ํ์๋ฉ๋๋ค.
๋ฌธ๋ฒ ์ค๋ฅ๋ฅผ ์์ ํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
์ค๋ฅ ์์ ์ ํด๋ฆญํฉ๋๋ค.
Gemini์์ ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
์ถ์ฒ์ ํ๊ฐํ ํ ๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- ์ถ์ฒ์ ์๋ฝํ๋ ค๋ฉด check ์ ์ ์๋ฝ์ ํด๋ฆญํฉ๋๋ค.
- ์ถ์ฒ์ ๊ฑฐ๋ถํ๋ ค๋ฉด close ์ ์ ๊ฑฐ๋ถ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค๋ฅธ ๋ชจ๋ ์ ํ์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
์ค๋ฅ ์ค๋ช ์ ํด๋ฆญํฉ๋๋ค.
์ค๋ฅ๋ฅผ ์ค๋ช ํ๊ณ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ํ๋ ํจ๋์ด ์ด๋ฆฝ๋๋ค.
์ ํ์ฌํญ: ์ค๋ฅ๋ฅผ ๋ ์ ์ดํดํ๋ ค๋ฉด ์ฌ๊ธฐ์ ํ๋กฌํํธ ์ ๋ ฅ ํ๋์ ์ง๋ฌธ์ ์ ๋ ฅํฉ๋๋ค.
์ ์๋ ๋ณ๊ฒฝ์ฌํญ์ ์๋ฝํ๋ ค๋ฉด library_add ์ฝ๋ ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
PySpark ์ฝ๋ ์์ฑ
Gemini Code Assist์ ๋ ธํธ๋ถ์์ PySpark ์ฝ๋๋ฅผ ์์ฑํด ๋ฌ๋ผ๊ณ ์์ฒญํ ์ ์์ต๋๋ค. Gemini Code Assist๋ ๊ด๋ จ BigQuery ๋ฐ Dataproc Metastore ํ ์ด๋ธ๊ณผ ์คํค๋ง๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ฌ์ฉํ์ฌ ์ฝ๋ ์๋ต์ ์์ฑํฉ๋๋ค. ์คํค๋ง ์ง์๊ณผ ํจ๊ป Gemini Code Assist๋ ํ ๋ฃจ์๋ค์ด์ ์ ๋ฐฉ์งํ๊ณ ์กฐ์ธ ํค์ ์ด ์ ํ์ ์ ์ํฉ๋๋ค.
๋ ธํธ๋ถ์์ Gemini Code Assist ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
ํด๋ฐ์์ + ์ฝ๋๋ฅผ ํด๋ฆญํ์ฌ ์ ์ฝ๋ ์ ์ ์ฝ์ ํฉ๋๋ค. ์ ์ฝ๋ ์ ์
Start coding or generate with AI
๊ฐ ํ์๋ฉ๋๋ค. ์์ฑ์ ํด๋ฆญํฉ๋๋ค.์์ฑ ํธ์ง๊ธฐ์์ ์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํ ํ
enter
์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค. ํ๋กฌํํธ์spark
๋๋pyspark
ํค์๋๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.์ํ ํ๋กฌํํธ:
create a spark dataframe from order_items and filter to orders created in 2024
์ํ ์ถ๋ ฅ:
spark.read.format("bigquery").option("table", "sqlgen-testing.pysparkeval_ecommerce.order_items").load().filter("year(created_at) = 2024").createOrReplaceTempView("order_items") df = spark.sql("SELECT * FROM order_items")
Gemini Code Assist ์ฝ๋ ์์ฑ ๋์๋ง
Gemini Code Assist๊ฐ ๊ด๋ จ ํ ์ด๋ธ๊ณผ ์คํค๋ง๋ฅผ ๊ฐ์ ธ์ค๋๋ก ํ๋ ค๋ฉด Dataproc Metastore ์ธ์คํด์ค์ Data Catalog ๋๊ธฐํ๋ฅผ ์ฌ์ฉ ์ค์ ํ์ธ์.
์ฌ์ฉ์ ๊ณ์ ์ Data Catalog ์ฟผ๋ฆฌ ํ ์ด๋ธ์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด๋ฅผ ์ํด
DataCatalog.Viewer
์ญํ ์ ํ ๋นํฉ๋๋ค.
Gemini ์ฟผ๋ฆฌ ์ด์์คํดํธ ๊ธฐ๋ฅ ์ฌ์ฉ ์ค์ง
BigQuery์ Gemini์์ ํน์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
BigQuery ํด๋ฐ์์
pen_spark Gemini ๋ฅผ ํด๋ฆญํฉ๋๋ค.๋ชฉ๋ก์์ ์ฌ์ฉ ์ค์งํ๋ ค๋ ์ฟผ๋ฆฌ ์ด์์คํดํธ ๊ธฐ๋ฅ์ ์ ํ ํด์ ํฉ๋๋ค.
BigQuery์ Gemini๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด BigQuery์ Gemini ์ฌ์ฉ ์ค์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
Colab Enterprise์์ Gemini ์ฌ์ฉ ์ค์ง
Google Cloud ํ๋ก์ ํธ์ฉ Colab Enterprise์์ Gemini๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ๊ด๋ฆฌ์๊ฐ Gemini for Google Cloud API๋ฅผ ์ฌ์ฉ ์ค์งํด์ผ ํฉ๋๋ค. ์๋น์ค ์ฌ์ฉ ์ค์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
ํน์ ์ฌ์ฉ์์ ๋ํด Colab Enterprise์์ Gemini๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ๊ด๋ฆฌ์๊ฐ ํด๋น ์ฌ์ฉ์์ Google Cloud๋ฅผ ์ํ Gemini ์ฌ์ฉ์(roles/cloudaicompanion.user
) ์ญํ ์ ์ทจ์ํด์ผ ํฉ๋๋ค. ๋จ์ผ IAM ์ญํ ์ทจ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์๊ฒฌ ๋ณด๋ด๊ธฐ
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
BigQuery ํด๋ฐ์์
pen_spark Gemini ๋ฅผ ํด๋ฆญํฉ๋๋ค.์๊ฒฌ ๋ณด๋ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ถ์ฒ ๊ฐ์ ์ ์ฐธ์ฌ
ํ๋ฆฌ๋ทฐ์ ๊ธฐ๋ฅ์ ์ ์ถํ ํ๋กฌํํธ ๋ฐ์ดํฐ๋ฅผ Google๊ณผ ๊ณต์ ํ์ฌ Gemini ์ถ์ฒ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
ํ๋กฌํํธ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ BigQuery Studio ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
BigQuery ํด๋ฐ์์
pen_spark Gemini ๋ฅผ ํด๋ฆญํฉ๋๋ค.BigQuery์ Gemini ๊ฐ์ ์ ์ํด ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ์ ํํฉ๋๋ค.
๋ฐ์ดํฐ ์ฌ์ฉ ์ค์ ๋ํ์์์์ ๋ฐ์ดํฐ ์ฌ์ฉ ์ค์ ์ ์ ๋ฐ์ดํธํฉ๋๋ค.
๋ฐ์ดํฐ ๊ณต์ ์ค์ ์ ์ ์ฒด ํ๋ก์ ํธ์ ์ ์ฉ๋๋ฉฐ serviceusage.services.enable
๋ฐ serviceusage.services.list
IAM ๊ถํ์ด ์๋ ํ๋ก์ ํธ ๊ด๋ฆฌ์๋ง ์ด๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ ๋ขฐํ ์ ์๋ ํ
์คํฐ ํ๋ก๊ทธ๋จ์์์ ๋ฐ์ดํฐ ์ฌ์ฉ์ ๊ดํ ์์ธํ ๋ด์ฉ์ Google Cloud ๋ฅผ ์ํ Gemini ์ ๋ขฐํ ์ ์๋ ํ
์คํฐ ํ๋ก๊ทธ๋จ์ ์ฐธ์กฐํ์ธ์.
Gemini ๋ฐ BigQuery ๋ฐ์ดํฐ
์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ค๋ฉด BigQuery์ Gemini๊ฐ ํฅ์๋ ๊ธฐ๋ฅ์ ์ํด BigQuery์ ๊ณ ๊ฐ ๋ฐ์ดํฐ ๋ฐ ๋ฉํ๋ฐ์ดํฐ ๋ชจ๋์ ์ก์ธ์คํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ BigQuery์ Gemini์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฐธ์กฐํ์ธ์.
๊ฐ๊ฒฉ ์ฑ ์
์ด ๊ธฐ๋ฅ์ ๊ฐ๊ฒฉ ์ฑ ์ ์ ๊ดํ ์์ธํ ๋ด์ฉ์ BigQuery์ Gemini ๊ฐ๊ฒฉ ์ฑ ์ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ ๋น๋ ๋ฐ ํ๋
์ด ๊ธฐ๋ฅ์ ํ ๋น๋ ๋ฐ ํ๋์ ๋ํ ์์ธํ ๋ด์ฉ์ BigQuery์ Gemini ํ ๋น๋์ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
- Google Cloud ๋ฅผ ์ํ Gemini ๊ฐ์ ์ฝ์ด๋ณด๊ธฐ
- Google Cloud ๋ฅผ ์ํ Gemini์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ๋ฐ์ดํฐ ์ธ์ฌ์ดํธ๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ