1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.28 | - |
4.1.11.4 | 实时任务写入适配 |
1.2 应用场景
Amazon Redshift 是 AWS 提供的 MPP 架构数仓产品,用户需要 FineDataLink 在管道写入端和定时任务读写端对接这款数据库,支撑组合方案落地。
1.3 功能说明
FineDataLink 支持连接 Amazon Redshift ,进行定时任务读写、管道任务写入、实时任务写入(作为写入端支持基于 COPY 实现高速装载和 JDBC 普通装载两种方式)。
本文介绍如何连接 Amazon Redshift 。
2. 约束限制
Amazon Redshift 数据库中有参数 describe_field_name_in_uppercase 控制大小写,因此 通用配置 对其不生效。参数值默认 off ,即默认全小写。详情请参见:具体说明
3. 准备工作
3.1 前提条件
详情请参见:前提条件
3.2 版本和驱动
驱动包下载 | 驱动 |
---|---|
用户可自行在amazon下载驱动 | com.amazon.redshift.jdbc.Driver |
注:支持预置集群版本和 Serverless 版本。
3.3 收集连接信息
在连接数据库之前,请收集以下信息:
数据库所在服务器的终端地址和端口号。
数据库的用户名和密码。
需要连接的数据库模式。
若用户需要使用数据源作为写入端,且希望实现支持基于 S3的 COPY实现高速装载,由于向 S3上传文件的过程中,需要 AWS 的认证信息,因此需要准备相关认证信息。
详情参见本文第四章内容。
4. 普通读写数据源接入方式
1)以管理员身份登录 FineDataLink ,点击「管理系统>数据连接>数据连接管理」,选中某个文件夹后,新建数据连接。如下图所示:
2)设置数据连接名称(可同时修改数据连接所在目录)。如下图所示:
3)可根据数据源分类、支持形式、适配模块、数据源名称筛选数据库。如下图所示:
4)驱动切换为「自定义」,选择本文 3.2 节上传的驱动(上传驱动方法参见:驱动管理),然后输入 3.3 节的连接信息。点击「点击连接数据库」按钮后,才能选择模式。如下图所示:
注:用户可以选择性修改高级设置,详细请参见 创建并管理数据源 文档。
5)点击「测试连接」,若连接成功则「保存」该连接。如下图所示:
5. 写入端高速装载接入方式
5.1 前提条件
Amazon Redshift 需要能够访问 FineDataLink 服务器的 22 端口。
若使用的是 Amazon Redshift 集群,则公钥要添加到 FineDataLink 服务器上,参见文档 加载数据的过程 第1、2、3步。
5.2 配置项说明
在使用该数据源作为写入端时,支持高速装载,利用到基于 S3 的 COPY 方案,向 S3 上传文件的过程中,因此需要 AWS 的认证信息,配置项如下图所示:
凭证读取方式选择「使用环境内默认凭证」:
配置项 | 是否必填 | 说明 |
---|---|---|
凭证读取方式:使用环境内默认凭证 | 必填 | 使用环境内的证书配置,此时使用 SDK 调用上传操作时,直接使用 standard 方式即可,使用默认凭证提供程序链。 环境内的配置方式参见:设置AWS临时证书并AWS 区域用于开发 |
区域 | 必填 | 填写 S3 存储桶所在的 AWS 云区域代码,如「cn-northwest-1」、「cn-north-1」。 |
存储桶名称 | 必填 | 填写S3存储桶名称。 |
临时文件写入目录 | 非必填,默认为空 | 填写临时文件的写入目录。 选项为空时,将使用存储桶的根目录。 |
凭证读取方式选择「手动指定凭证」:
配置项 | 是否必填 | 说明 |
---|---|---|
凭证读取方式:手动指定凭证 | 必填 | 将允许用户手动指定证书配置 此时使用SDK调用上传操作时,需要新建 BasicSessionCredentials,然后在初始化S3客户端时使用手动指定的认证。 |
AccessKeyID | 必填 | 手动指定 IAM 认证信息的 AWS_ACCESS_KEY_ID项。 |
SecretAccessKey | 必填 | 手动指定 IAM 认证信息的 AWS_SECRET_ACCESS_KEY 项。 |
区域 | 必填 | 填写 S3 存储桶所在的 AWS 云区域代码,如「cn-northwest-1」、「cn-north-1」。 |
存储桶名称 | 必填 | 填写 S3 存储桶名称。 |
临时文件写入目录 | 非必填,默认为空 | 填写临时文件的写入目录。 选项为空时,将使用存储桶的根目录。 若不填写根目录,则写入默认在根目录下,如下图所示: 若填写,则在对应根目录下的文件,如填写chloe,则在根目录下的chloe文件夹内,如下图所示: |
注1:IAM认证相关资料:向... 提供临时证书 AWS SDK for Java、管理 IAM 用户的访问密钥
注2:AWS控制台页面中,只能看到AccessKeyID,SecretAccessKey 仅在创建 AccessKey 的时候可以看到。
注3:FineDataLink 内的临时文件启用高速装载后,临时文件写入 %FineDataLink%/...../web-inf/temp路径下。
6. 使用数据源
配置好数据源后即可在「定时任务」中将数据源作为读取和写入端。
作为来源端:
作为写入端:如果配置了本文第五章的高速装载,则可以在写入方式中选择是否启用高速装载,如下图所示:
在「管道任务」中将数据源作为写入端。如果配置了本文第五章的高速装载,则可以选择是否启用高速装载,如下图所示:
配置好数据源后即可在「实时任务」中将使用数据源,详情参见:实时任务概述