gpt4 book ai didi

mysql - S3 到 MySQL AWS Data Pipeline 插入表错误

转载 作者:行者123 更新时间:2023-11-29 10:22:49 26 4
gpt4 key购买 nike

这是我第一次在这里提问,请多多包涵

我尝试使用aws提供的模板创建一个数据管道,将S3-Bucket中的CSV文件上传到MySQL数据库表(Production1),但在执行RdsMySqlTableCreateActivity时失败。

我在 myRDSTableInsertSql 参数中使用的 sql 语句(所有列名称与 CSV 文件匹配):

INSERT INTO `Production1` (`API`, `Normalized Month`, `DATE`, `Monthly Liquid`, `Cum Oil`, `BOPD`, `Monthly Gas Mcf/Month`, `Cum Gas`, `MCFPD`) VALUES(?,?,?,?,?,?,?,?,?);

RdsMySqlTableCreateActivity 错误:

errorId
ActivityFailed:SQLException
errorMessage
No value specified for parameter 1
errorStackTrace
amazonaws.datapipeline.taskrunner.TaskExecutionException:
private.com.amazonaws.services.datapipeline.redshift.QueryStatementException: Exception No value specified for
parameter 1 while executing INSERT INTO `Production1` (`API`, `Normalized Month`, `DATE`, `Monthly Liquid`, `Cum Oil`, `BOPD`, `Monthly Gas Mcf/Month`, `Cum Gas`, `MCFPD`) VALUES(?,?,?,?,?,?,?,?,?);...

我在 MySQL 工作台上运行了插入命令,将 (?,?,?,?,?,?,?,?,?) 替换为 (1,2,3 ,4,5,6,7,8,9),它成功了。我使用的 CSV 文件仅包含 2 行列名称和每列的值 1-9。真的不确定没有为参数 1 指定值意味着什么,任何帮助/指导将不胜感激!!!

最佳答案

对于使用“将 S3 数据加载到 RDS MySQL 表”模板遇到相同问题的任何人

我的每个参数的值如下

myRDSTableInsertSql:

INSERT INTO tableName(`col_name1`, `col_name2`, `col_name3`, `col_name4`, `col_name5`, `col_name6`, `col_name7`, `col_name8`, `col_name9`) VALUES(?,?,?,?,?,?,?,?,?);

myRDSTableName:表名

myRDSCreateTableSql:

CREATE TABLE tableName(`col_name1` type, `col_name2` type, `col_name3` type, `col_name4` type, `col_name5` type, `col_name6` type, `col_name7` type, `col_name8` type, `col_name9` type);

主要问题在于实际的 CSV 文件格式,您必须确保没有标题,并且类型完全相同。另请确保分隔符为“,”,并且 CSV 文件中的每个值均未加引号。

这个模板是一个很好的起点,但形成更详细/复杂的 CSV 文件,制作您自己的数据管道是必须的!

关于mysql - S3 到 MySQL AWS Data Pipeline 插入表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48930481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com