Kinesis Firehose演示没有分隔符; Redshift无法解析。哪个错了?

问题描述 投票:0回答:1

当我今天完成Kinesis,Firehose和Redshift的第一步学习步骤时,我很高兴地发现亚马逊有一个“尝试我们的演示数据生成器”设置。

我很沮丧地得知它似乎并没有真正起作用。

所以,我去挖掘。而且我发现STL_LOAD_ERROR包含的错误表明预期会有分隔符,并且记录了看起来像{field:val,field:val}{field:val,field:val}的前线。

...{"TICKER_SYMBOL": |     1214 | Delimiter not found 

“必须在某个地方剥离换行符,”我想。

在挖掘之后,我发现相关S3存储桶中有生产记录,格式令人惊讶:

{field:val,field:val}{field:val,field:val}...

也就是说,在明显的记录之间没有分隔符,这些记录是每行几十K的单行文件。

Other SO posts似乎暗示这实际上是预期的数据格式。

为什么Redshift需要数据演示不使用的格式的数据?我要重新配置哪个?

amazon-redshift amazon-kinesis amazon-kinesis-firehose
1个回答
1
投票

好的。有三个问题。

  1. AWS示例数据生成器以需要更改Redshift COPY命令的格式生成数据,但它们不会告诉您。
  2. 您需要添加FORMAT AS JSON的3://yourbucketname/aJsonPathFile.txt'
  3. 您需要创建一个JSON path file,因为默认数据生成器生成大写的列名称,redshift不能消耗
© www.soinside.com 2019 - 2024. All rights reserved.