2016-11-25 5 views
0

Я получаю следующую ошибку при перемещении данных из MySQL в базу данных красного смещения.Ошибка преобразования данных, недопустимый тип для параметра: 2 в 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)) 

Am не в состоянии увидеть какие-либо вопросы типа данных.

+0

Не удалось найти ошибку. – Viki888

+0

Какая ошибка? – Nikhil

ответ

0

Вы можете попробовать это?

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, если хотите сохранить вторую точность.

+0

определение, которое я дал, это исходная БД, которая является MySQL, а не красным. – Sarang

+0

Итак, как вы передаете данные из mysql в redshift? –

+0

Я использую Pentaho ETL для этого. – Sarang

Смежные вопросы