使用Jupyter笔记本 Db2 Big SQL

重要提示:4.8IBM Cloud Pak® for Data 版本将于2025年7月31日达到支持终止(EOS)。 有关更多信息,请参阅 4.X 版本 IBM Cloud Pak for Data 的服务终止公告

升级至 IBM Software Hub 版本 5.1 ,在 4.8 版本达到支持 IBM Cloud Pak for Data 终止前完成升级。 有关更多信息,请参阅IBM Cloud Pak for Data 版本 4.8 升级到 IBM 的说明: Software Hub 版本 5.1。

在 Python 中 Cloud Pak for Data,您可以使用 Jupyter 笔记本操作 Db2® 系列产品,包括 Db2 Big SQL

例如,你可以创建一个运行SQL语句来分析数据的Jupyter笔记本。

重要提示: 使用 Jupyter 笔记本前, Watson Studio 必须安装。

要创建 Jupyter Notebook,请完成以下步骤:

  1. 登录到 Cloud Pak for Data ,选择项目 > 所有项目 ,然后点击新建项目
  2. 选择创建空项目
  3. 在定义项目详细信息并创建项目之后,请选择添加到项目,然后选择资产类型 Notebook
  4. 指定 Notebook 的名称,选择 Python 3.7 作为语言,然后单击创建
  5. 将以下两行代码粘贴到 Notebook 的第一个单元中:
    !pip install ipython-sql
    !pip install ibm_db
    要安装与之配合使用的 Db2 Big SQLPython 软件包,请点击工具栏中的" 运行 "按钮执行该单元。
  6. 通过单击工具栏中的 + 来创建新单元。 将以下 Python 代码片段粘贴到新单元中,然后将占位符替换为相应的值:
    import ibm_db
    conn = ibm_db.connect("DATABASE=bigsql;" +\
                          "HOSTNAME=<Big-SQL-head-pod-fqdn-host-name>;" \
                          "PORT=50000;" \
                          "PROTOCOL=TCPIP;" \
                          "UID=<username>;" \
                          "PWD=<password>",'','')
    stmt = "CREATE HADOOP TABLE testschema.testtab (key int, value varchar(100), ts timestamp)"
    # LOCATION ‘s3a://<bucket>/testschema.testtab’
    # If you want to create the table in an object store, uncomment the previous
    # line, substituting appropriate values for the placeholders. The bucket
    # placeholder must be replaced with the name of an existing bucket that can be
    # accessed with the object store credentials that were provided when Db2 Big SQL was
    # provisioned.
    ibm_db.exec_immediate(conn, stmt)
    此代码演示了 Pythonibm_db 软件包的使用,该软件包使您能够在任何 Python 应用程序(包括笔记本) Db2 Big SQL 中处理数据。 如果要运行 CREATE TABLE (HADOOP) 语句,此类型的 Python 代码是必需的。
    注:

    <username> 和 <password> 是授予访问权限的用户 Cloud Pak for Data 凭据,具体 Db2 Big SQL说明详见《 配置、监控和管理对 Db2 Big SQL 实例的访问 》。

    如果 Watson Studio 部署在与 不同的 Cloud Pak for Data 集群上 Db2 Big SQL,则可将 HOSTNAME 设置为该集群的公开节点或负载均衡器节点,并将 PORT 设置为外部暴露的 NodePort, , 具体操作请参阅《设置与 Db2 Big SQL 的连接》。

  7. 通过单击单元旁边的运行按钮来运行该单元。 结果应类似于以下示例输出:
    图 1。 CREATE TABLE (HADOOP) 语句的输出
    屏幕截图显示 CREATE TABLE (HADOOP) 语句的输出结果
  8. 若您不打算使用 CREATE TABLE (HADOOP) 语句,可采用更简洁的 Jupyter 魔术函数语法。 通过此语法中的 %sql 前缀,可以将 SQL 语句散布在 Notebook 中的 Python 代码之间。 通过单击工具栏中的 + 来创建新单元。 将以下 Python 代码片段粘贴到新单元中,然后将占位符替换为相应的值:
    import ibm_db
    %load_ext sql
    %sql db2+ibm_db://<user>:<password>@<host>:<port>/bigsql
    %sql insert into testschema.testtab values (647, 'a sample value', current timestamp)
    %sql select value from testschema.testtab where key = 647
  9. 通过单击单元旁边的运行按钮来运行该单元。 结果应类似于以下示例输出:
    图 2。 使用更简洁 Jupyter 语法时的输出
    屏幕截图展示了更简洁的Jupyter语法输出效果