文档

Amazon Redshift数据源

更新时间:

Amazon Redshift数据源为您提供读取和写入Amazon Redshift的双向通道,方便您后续可以通过向导模式和脚本模式配置数据同步任务。本文为您介绍Amazon Redshift数据同步能力支持情况。

支持的Amazon Redshift版本

Amazon Redshift使用的驱动版本是redshift-jdbc4.2 Driver 2.1.0.1,驱动能力详情请参见为Amazon Redshift配置JDBC驱动程序版本

支持的字段类型

Amazon Redshift的字段类型请参见Amazon Redshift官方文档。下面为您罗列当前主要字段的支持情况。

Amazon Redshift类型

SQL类型

Java类型

BIGINT

SQL_BIGINT

长整型

BOOLEAN

SQL_BIT

Boolean

CHAR

SQL_CHAR

字符串

DATE

SQL_TYPE_DATE

java.sql.Date

DECIMAL

SQL_NUMERIC

BigDecimal

DOUBLE PRECISION

SQL_DOUBLE

Double

GEOMETRY

SQL_ LONGVARBINARY

byte[]

INTEGER

SQL_INTEGER

整数

OID

SQL_BIGINT

长整型

SUPER

SQL_LONGVARCHAR

字符串

REAL

SQL_REAL

Float

SMALLINT

SQL_SMALLINT

短型

TEXT

SQL_VARCHAR

字符串

TIME

SQL_TYPE_TIME

java.sql.Time

TIMETZ

SQL_TYPE_TIME

java.sql.Time

TIMESTAMP

SQL_TYPE_ TIMESTAMP

java.sql.Timestamp

TIMESTAMPTZ

SQL_TYPE_ TIMESTAMP

java.sql.Timestamp

VARCHAR

SQL_VARCHAR

字符串

数据同步前准备:配置Amazon Redshift的网络连接

在DataWorks上进行数据同步前,您需要将Amazon Redshift的网络与数据集成的独享资源组打通,使之通过内网地址进行访问。网络打通的具体方法可参考:配置资源组与网络连通

数据同步任务开发:Amazon Redshift同步流程指导

Amazon Redshift数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。

创建数据源

在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建与管理数据源。以下对Amazon Redshift数据源的几个配置项进行说明。

  • JDBC URL:请填写JDBC连接串,包含IP、端口号、数据库和连接参数。支持公网IP和私网IP,如果使用公网IP,请确保数据集成资源组能够正常访问Amazon Redshift所在的主机。

  • 用户名:请填写Amazon Redshift数据库的用户名。

  • 密码:请填写Amazon Redshift数据库对应用户的密码。

单表离线同步任务配置指导

附录:Amazon Redshift脚本Demo与参数说明

离线任务脚本配置方式

如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Writer参数的指导详情。

Amazon Redshift Reader脚本Demo与参数说明

Amazon Redshift Reader脚本Demo

{
  "stepType": "redshift"
  "parameter":
  {
    "datasource":"redshift_datasource",
    "table": "redshift_table_name",
    "where": "xxx=3",
    "splitPk": "id",
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ]
  },
  "name": "Reader",
  "category": "reader"
}

Amazon Redshift Reader脚本参数

脚本参数名

描述

是否必选

默认值

datasource

数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须与添加的数据源名称保持一致。

table

选取的需要同步的表名称。

column

需要同步的字段列表,字段之间用英文逗号分隔。例如"column":["id","name","age"]

如果要同步全部列,使用(*)表示,例如"column":["*"]

where

筛选条件,根据指定的columntablewhere条件拼接SQL,并根据该SQL进行数据抽取。例如在做测试时,可以将where条件指定为limit 10。

在实际业务场景中,通常会选择当天的数据进行同步,可以将where条件指定为gmt_create>$bizdate

  • where条件可以有效地进行业务增量同步。

  • where条件不配置或为空时,则视作全表同步数据。

splitPk

如果指定splitPk,表示您希望使用splitPk代表的字段进行数据分片。数据同步系统会启动并发任务进行数据同步,以提高数据同步的效能。

Amazon Redshift Writer脚本Demo与参数说明

Amazon Redshift Writer脚本Demo

{
  "stepType": "redshift",//插件名。
  "parameter":
  {
    "postSql":["delete from XXX;"],
    "preSql":["delete from XXX;"],
    "datasource":"redshift_datasource",//数据源名。
    "table": "redshift_table_name",//表名。
    "writeMode": "insert",
    "batchSize": 2048,
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ]
  },
  "name": "Writer",
  "category": "writer"
}

Amazon Redshift Writer脚本参数

脚本参数名

描述

是否必选

默认值

datasource

数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须与添加的数据源名称保持一致。

table

需要写入的表名称。

column

目标表需要写入数据的字段,字段之间用英文逗号分隔。例如"column":["id","name","age"]

如果要依次写入全部列,使用(*)表示,例如"column":["*"]

preSql

执行数据同步任务之前率先执行的SQL语句。目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句,例如清除旧数据。

postSql

执行数据同步任务之后执行的SQL语句。目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句,例如加上某一个时间戳。

batchSize

每批次导入的最大数据条数。

2048

writeMode

目前只支持insert。

insert

  • 本页导读 (1)
文档反馈