Vertica 集成 AWS Glue¶
概述¶
AWS Glue 是一个完全托管的无服务器 ETL 服务,可以发现、准备和组合数据进行分析。它处理来自不同数据源的信息,并将其组织到中央存储库中。
最新测试版本¶
| 软件 | 版本 |
|---|---|
| AWS Glue | AWS Glue 3 |
| JDK | 1.8 |
| 平台 | Windows Server 2019 |
| Vertica 客户端 | Vertica JDBC Driver 11.1.0 |
| Vertica 服务器 | Vertica Analytic Database 11.1.0 |
安装 Vertica 客户端驱动¶
Vertica 通过使用 Vertica JDBC 驱动的自定义连接器与 AWS Glue Studio 和脚本化作业集成:
- 导航到 Vertica 网站的 Client Drivers 页面。
- 下载与 Vertica 服务器版本兼容的 JDBC 驱动包。
- 将 Vertica JDBC 驱动上传到 S3 存储桶,记录 JAR 文件的完整路径,例如
s3://verticajdbc/vertica-jdbc-11.1.jar。
连接 AWS Glue 到 Vertica¶
创建自定义连接器¶
- 在 Amazon Glue Studio 左侧导航窗格中,点击 Connectors。
- 点击 Create Custom Connector。
- 设置连接器属性:
- Connector URL:
s3://<your-s3-bucket>/vertica-jdbc-11.1.jar - Name:输入连接器名称
- Connector type:JDBC
- Class name:
com.vertica.jdbc.Driver - JDBC URL base:
jdbc:vertica://host:5433/database_name?(注意:必须在连接字符串末尾加?) - URL parameter delimiter:
& - Description:可选的描述
- 点击 Create connector。
使用自定义连接器创建连接¶
- 选择刚创建的自定义连接器,点击 Create Connection。
- 提供唯一的连接名称。
- 在连接访问中提供以下详情:
- Connection credential type:选择已有凭据或默认。
- AWS Secret(可选):选择 IAM 用户。
- Additional URL parameters:添加
user和password参数。 - 可选:在 Network options 中配置 VPC:
- VPC:选择 Vertica 实例所在的 VPC(需创建 Glue VPC Endpoint)。
- Subnet:从 VPC 中选择子网。
- Security Groups:选择访问 Vertica 实例的安全组(需有自引用入站规则允许所有 TCP 端口)。
- 点击 Create Connection。
注意:如果选择输入 AWS Secret,需为其添加 VPC 端点。详见 AWS Secret Manager VPC Endpoint 文档。
从 Vertica 加载数据到 Amazon S3¶
- 在左侧导航窗格中点击 Jobs。
- 在 Create job 部分,选择 Visual with a source and target。
- Source:刚创建的 Vertica 连接
- Target:Amazon S3
- 点击 Create。
- 在 Visual 选项卡中:
- 点击 Data source - Connection,在右侧选择连接、输入表名或编写查询。
- 点击 Data target - S3 bucket,选择连接和输入表名。
- 点击 Job details,选择具有数据存储访问权限的 IAM 角色。
- 点击 Save,然后点击 Run。
加载方向说明¶
AWS Glue 支持以下数据加载方向: - Vertica 到 S3 - S3 到 Vertica - Vertica 到 Vertica
已知限制¶
- AWS Glue 作业在 Apache Spark 中运行,生成的脚本为 Scala 或 Python,需熟悉 Spark。
- 如果为使用 JDBC 连接器的数据源节点指定了过滤谓词,则不能使用作业书签 (job bookmarks)。
- 数据库密码中不能包含
#字符,否则会显示用户名/密码错误。 - LONG VARCHAR 数据类型最多支持 6291456 字节。
参考¶
原文来源:https://www.vertica.com/kb/AWS_Glue_CG/Content/Partner/AWS_Glue_CG.htm