【问题标题】:Error converting data, invalid type for parameter: 2 in Redshift转换数据时出错,参数类型无效:Redshift 中的 2
【发布时间】:2016-11-25 09:20:33
【问题描述】:

我在将数据从 MySQL 移动到 redshift 数据库时遇到以下错误。

源数据是:

id  emp_name    age city    update_date
a01 sarang      25  indore  2016/01/10 00:00:00.000
a02 shri        26  indore  2016/01/11 00:00:00.000
a03 chinu       27  indore  2016/01/12 00:00:00.000
a04 rohan       25  indore  2016/01/13 00:00:00.000
a05 manish      26  shajapur    2016/01/14 00:00:00.000

表定义为:

CREATE TABLE CDC (
  id varchar(50) NOT NULL,
  emp_name varchar(400) DEFAULT NULL,
  age int(10) DEFAULT NULL,
  city varchar(200) DEFAULT NULL,
  update_date date,
  PRIMARY KEY (id))

我看不到任何数据类型问题。

【问题讨论】:

  • 找不到提到的错误。
  • 错误是什么?

标签: mysql pentaho amazon-redshift


【解决方案1】:

你可以试试这个吗?

CREATE TABLE CDC (
  id varchar(50) NOT NULL,
  emp_name varchar(400) DEFAULT NULL,
  age integer DEFAULT NULL,
  city varchar(200) DEFAULT NULL,
  update_date date,
  PRIMARY KEY (id))

如文档 (Redshift Data Types) 中所述,声明整数的正确语法是 SMALLINT、INTEGER 或 BIGINT,具体取决于字段的值范围。

如果你想保持第二个精度,你不妨使用时间戳作为 update_date。

【讨论】:

  • 我给的定义是source DB,是MySQL,不是redshift。
  • 那么如何将数据从mysql转移到redshift呢?
  • 我正在使用 Pentaho ETL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 2010-11-17
  • 1970-01-01
  • 2020-11-22
  • 2022-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多