本页面介绍了如何以 Cloud Data Fusion 实例。
准备工作
- 创建 Cloud Data Fusion 实例。
- 让 PostgreSQL 数据库接受来自 Cloud Data Fusion 的连接。为了安全地执行此操作,我们建议您使用 私有 Cloud Data Fusion 实例。
所需的角色
如需获取连接到 PostgreSQL 数据库所需的权限, 请让管理员授予您 以下 IAM 角色:
-
Dataproc Worker (
roles/dataproc.worker
) 针对集群所属项目中的 Dataproc 服务账号 -
Cloud Data Fusion Runner (
roles/datafusion.runner
) 针对集群所属项目中的 Dataproc 服务账号 -
如需在不使用 Cloud SQL Auth 代理的情况下使用 Cloud SQL,请执行以下操作:
Cloud SQL 客户 (
roles/cloudsql.client
) 针对包含 Cloud SQL 实例的项目
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
在 Cloud Data Fusion 中打开实例
在 Google Cloud 控制台中,转到 Cloud Data Fusion 页面。
如需在 Cloud Data Fusion Studio 中打开实例,请点击实例,然后点击查看实例。
将 PostgreSQL 密码存储为安全密钥
输入您的 PostgreSQL 密码作为安全密钥,以便在 Cloud Data Fusion 实例。如需详细了解密钥,请参阅 Cloud KMS。
在 Cloud Data Fusion 界面中,点击系统管理员 > 配置。
点击进行 HTTP 调用。
在下拉菜单中,选择 PUT。
在路径字段中,输入
namespaces/default/securekeys/pg_password
。在正文字段中,输入
{"data":"POSTGRESQL_PASSWORD"}
。 将POSTGRESQL_PASSWORD
替换为您的 PostgreSQL 密码。点击发送。
Response 字段会通知您所有错误。
连接到 Cloud SQL for PostgreSQL
在 Cloud Data Fusion 界面中,点击菜单menu并转到 Wrangler 页面。
点击添加连接。
选择数据库作为要连接的来源类型。
在 Google Cloud SQL for PostgreSQL 下,点击上传。
上传包含 PostgreSQL 驱动程序的 JAR 文件。您的 JAR 文件必须采用
NAME-VERSION.jar
格式。如果 JAR 文件未遵循此格式,请在上传前重命名该文件。点击下一步。
在相应字段中输入驱动程序的名称、类名称和版本。
点击完成。
在打开的添加连接窗口中,点击 Google Cloud SQL for PostgreSQL。您的 JAR 名称应该显示在 Google Cloud SQL for PostgreSQL 下。
填写必填的连接字段。在密码字段中,选择您之前存储的安全密钥。 这可确保使用 Cloud KMS 检索您的密码。
在连接字符串字段中,输入以下连接字符串:
jdbc:postgresql://google/DATABASE_NAME?cloudSqlInstance=INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
替换以下内容:
DATABASE_NAME
:实例详情页面的数据库标签页中列出的 Cloud SQL 数据库名称。INSTANCE_CONNECTION_NAME
:实例详情页面的概览标签页中显示的 Cloud SQL 实例连接名称。
例如:
jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
启用 Cloud SQL Admin API。
点击测试连接以确保可以与数据库建立连接。
点击添加连接。
连接 PostgreSQL 数据库后,您可以将转换应用于您的数据(在 Wrangler 中)、创建流水线,以及将输出写入接收器(在 Studio 中)。