转换数据

借助适用于 Visual Studio Code 的 Google Cloud Data Agent Kit 扩展程序,您可以使用笔记本进行数据清理、特征工程和深度分析。您可以从三种类型的笔记本中进行选择。

  • BigQuery DataFrames 笔记本。这些是 Python 笔记本,可让您使用熟悉的 pandas 和 scikit-learn API 在 BigQuery 中处理海量数据集。除了 Python 之外,它们还支持使用 GoogleSQL for BigQuery 编写代码。
  • 使用本地内核的托管式 Apache Spark 笔记本。这些是 Python 笔记本,可让您使用 Managed Service for Apache Spark 的 Spark Connect 库在 Managed Service for Apache Spark 上创建和执行作业。

  • 使用远程内核的托管式 Apache Spark 笔记本。借助这些笔记本,您可以在完全在 Managed Service for Apache Spark 上运行的远程内核上执行笔记本。您的代码不会在本地计算机上执行。除了 PySpark 之外,您还可以在 %%sparksql magic 单元的帮助下使用 Spark SQL 编写代码。

准备工作

对于 BigQuery 笔记本,必须在执行笔记本的同一 Python 虚拟环境中安装 bigframes 库。创建新笔记本时,初始化单元格包含以下注释掉的行:

#%pip install --upgrade bigframes
  1. 可选:如果您尚未在 Python 虚拟环境中安装 bigframes 库,请移除注释。

  2. 可选:如果您打算在笔记本中编写 SQL 代码,请安装 bigquery-magics

pip install --upgrade bigquery-magics

所需的角色

如需获得执行 BigQuery 笔记本所需的权限,请让管理员向您授予扩展程序中所选项目的 BigQuery Studio User (roles/bigquery.studioUser) 角色。

如需获得 Managed Service for Apache Spark 笔记本所需的权限,请让管理员向您授予项目的以下角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。您也可以通过自定义角色或其他预定义角色来获取所需的权限。

转换数据

对于 BigLake 表或 BigQuery 表中的数据,该扩展程序提供了笔记本模板,可帮助您快速入门。

前往 BigQuery 表或 BigLake 表:

  1. Ctrl/Cmd-Shift-P 打开命令面板。
  2. 展开目录探索器,找到您的 BigQuery 或 BigLake。
  3. 右键点击表格 ID。
  4. 从浮动菜单中,选择 Load in Spark DataFrameLoad in BigQuery DataFrame。系统随即会显示一个新编辑器,其中包含有关该表的信息。

    您还可以使用通用搜索查找该表格。点击表 ID 以打开新编辑器,点击数据标签页,然后选择在 Spark DataFrame 中加载在 BigQuery DataFrame 中加载

初始化笔记本

加载表格后,编辑器标签页中会打开一个新的 Jupyter 笔记本,其中包含以所选数据框类型加载表格所需的代码。

  1. 如果您尚未在 Python 虚拟环境中安装所需的库,请取消注释 pip install 行。

  2. 点击选择内核,然后选择 Python 内核。

    对于使用远程内核的 Managed Spark 笔记本,您必须选择远程 Spark 内核。

  3. 点击单元底部的 ▷ 全部运行或按 Shift+Enter 运行该单元。

  4. 如果系统提示您安装缺失的软件,请点击安装

该单元格会创建一个包含所选表格中数据的数据框。

向 DataFrame 应用数据转换

向笔记本添加其他单元,并编写代码来转换数据。 对于 BigQuery DataFrames,您可以使用 BigQuery DataFrames 提供的与 pandas 兼容的 API 转换 DataFrame。

或者,BigQuery DataFrames 提供了一个魔法命令,您可以在 Jupyter 笔记本中使用 SQL 来转换 DataFrame。如需使用 SQL 转换数据,请完成以下步骤:

  1. 创建并运行一个单元,以激活 Jupyter magic 命令。

    %load_ext bigframes

  2. 使用 %%bqsql magic 命令创建 SQL 代码单元。

保存结果

使用 DataFrame 类型提供的多种输出方法之一,将转换后的数据保存到 BigQuery 或 Cloud Storage。对于 BigQuery DataFrames,输出方法包括以下内容:

对于小规模数据,您可以将其导出到 Arrow 或 Pandas,以便在本地进行进一步处理和可视化。

清理

为避免系统向您的 Google Cloud 账号收取费用,请删除您创建但不再需要的任何资源。

后续步骤