📜  gcp jupyter 在magic bigquery 中使用python 变量 - Python (1)

📅  最后修改于: 2023-12-03 15:30:53.046000             🧑  作者: Mango

GCP Jupyter 在 Magic BigQuery 中使用 Python 变量

简介

Google Cloud Platform (GCP) 中的 Jupyter Notebook 可以和 GCP 的 BigQuery 服务相集成。在 Jupyter Notebook 中,我们可以使用 Magic BigQuery 插件来方便地查询 BigQuery 中的数据。同时,我们也可以在 Magic BigQuery 中使用 Python 变量来进行查询。

步骤
1. 在 GCP 控制台中创建 BigQuery 数据集

在 GCP 控制台的 BigQuery 服务中,我们需要先创建一个数据集,并在数据集中上传一些数据。具体操作可以参考官方文档

2. 在 Jupyter Notebook 中安装必要的 Python 包和插件

在 Jupyter Notebook 中,我们需要安装 Google Cloud SDK 和 BigQuery Python SDK。具体操作可以参考官方文档

同时,我们还需要安装 Magic BigQuery 插件,可以使用以下命令进行安装:

!pip install google-cloud-bigquery[magics]
3. 连接 BigQuery

在 Jupyter Notebook 中,我们需要先连接到 BigQuery 服务。我们可以使用以下代码进行连接:

from google.cloud import bigquery
from google.oauth2 import service_account

# Replace this Your Project Name with your GCP Project Name
project_id = 'your_project_name'
# Replace this Your Dataset Name with your BigQuery Dataset Name
dataset_id = 'your_dataset_name'
# Replace the credentials_path with your file path for the service account key
credentials_path = 'path/to/your/credentials.json'

credentials = service_account.Credentials.from_service_account_file(credentials_path)
client = bigquery.Client(project=project_id, credentials=credentials)
dataset_ref = client.dataset(dataset_id)

这里我们需要将上述代码中的 your_project_nameyour_dataset_namepath/to/your/credentials.json 替换成对应的值。

4. 在 Magic BigQuery 中使用 Python 变量

有了上述准备工作,我们就可以开始在 Magic BigQuery 中使用 Python 变量了。我们可以使用 %bigquery 命令来执行 BigQuery 查询语句。具体可以参考官方文档

以下是一个例子:

# Replace table_name with your table name
table_name = 'your_table_name'

# define a parameterized query string
query = """
SELECT *
FROM `{}.{}.{}`
WHERE name = @name
"""

# define the query parameters
params = [
    bigquery.ScalarQueryParameter('name', 'STRING', 'John'),
]

# execute the query with parameters
result = %bigquery execute --project $project_id --params $params $query.format(project_id, dataset_id, table_name)

# print the results
print(result)

这里我们需要将上述代码中的 your_table_name 替换成对应的值。

结论

通过以上步骤,我们可以在 GCP Jupyter Notebook 中方便地使用 Magic BigQuery 插件来查询 BigQuery 中的数据,并且可以使用 Python 变量来方便地完成各种查询需求。