繁体   English   中英

AWS Kinesis Firehose不在Redshift中插入数据

[英]AWS Kinesis Firehose is not inserting data in Redshift

我知道这个问题在Stack Overflow中已经问过好几次了,但是我读到的所有答案都无法解决我遇到的问题。

我有一个Boto3脚本可将MySQL表复制到Kinesis Streams。 然后在另一端,有一个KCL Node JS脚本,用于从Kinesis Streams中读取流并写入S3。 到现在为止还挺好。

我在同一区域设置了Kinesis Firehose,Redshift和S3。 然后,我将Firehose设置为从S3读取并写入Redshift。 用Firehose提供的演示数据进行测试时,一切都很好。

然后,我设置一个Redshift表,其中包含MySQL表中的所有列。 Redshift不支持某些数据类型,因此我使用了其他数据类型,但是我坚信Firehose能够毫无问题地写入Redshift表。

下面是MySQL表的屏幕截图。

MySQL表

下面是Redshift表的屏幕截图。

红移表

如您所见,数据类型并不完全相同。 我想知道Redshift是否对级别如此敏感,以至于每种数据类型都必须与MySQL表相同。

顺便说一句,我确实在Firehost COPY命令中指定了JSON'auto '并启用了日志记录。 不幸的是,没有记录错误。

为什么您在Redshift中看不到记录有很多原因。 在Firehose将记录放入S3之后,将从Redshift执行COPY命令以将文件从S3获取并进入群集。

如果您没有看到STL_LOAD_ERRORS,则Firehose无法连接到Redshift。 您可以在Firehose控制台中对此进行验证,您将在Redshift Logs选项卡下找到更多信息。

另外,请确保您已允许在Redshift的VPC下区域内Firehose的IP范围内的传入连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM