如何在 AWS 数据管道中指定列映射?
How to specify column mapping in AWS Data pipeline?
我正在使用 AWS 数据管道将数据从 RedShift 复制到 RDS 中的 MySql。数据被复制到 MySQL。在管道中,插入查询指定如下:
insert into test_Employee(firstname,lastname,email,salary) values(?,?,?,?);
我有什么方法可以指定源 table 的列名来代替上述查询中的 ??我尝试为源 table 添加列名,但这似乎不起作用。当前,源和目标中的列名称 table 相同。
感谢您的宝贵时间。如果需要任何其他信息,请告诉我。
指定列而不是 ?
是行不通的,因为插入 SQL 查询对您的源数据源一无所知。 AWS Copy activity 只是按照您从源数据集中选择它们的相同顺序将参数传递给此查询。
然而,插入查询中目标 table (test_Employee
) 的列名不必与 DDL 中指定的列顺序匹配,因此您可以更改此查询以匹配顺序源中的列数 table。
例如,如果您的源数据集有以下列:
email,first_name,last_name,salary
插入查询:
insert into test_Employee(email,firstname,lastname,salary) values(?,?,?,?);
注。如您所见,源和目标的列名 table 不必匹配。
我正在使用 AWS 数据管道将数据从 RedShift 复制到 RDS 中的 MySql。数据被复制到 MySQL。在管道中,插入查询指定如下:
insert into test_Employee(firstname,lastname,email,salary) values(?,?,?,?);
我有什么方法可以指定源 table 的列名来代替上述查询中的 ??我尝试为源 table 添加列名,但这似乎不起作用。当前,源和目标中的列名称 table 相同。
感谢您的宝贵时间。如果需要任何其他信息,请告诉我。
指定列而不是 ?
是行不通的,因为插入 SQL 查询对您的源数据源一无所知。 AWS Copy activity 只是按照您从源数据集中选择它们的相同顺序将参数传递给此查询。
然而,插入查询中目标 table (test_Employee
) 的列名不必与 DDL 中指定的列顺序匹配,因此您可以更改此查询以匹配顺序源中的列数 table。
例如,如果您的源数据集有以下列:
email,first_name,last_name,salary
插入查询:
insert into test_Employee(email,firstname,lastname,salary) values(?,?,?,?);
注。如您所见,源和目标的列名 table 不必匹配。