Kinesis Firehose 演示没有分隔符;没有 Redshift 就无法解析。哪个错了?
Kinesis Firehose demo has no delimiters; Redshift can't parse without. Which is wrong?
今天,当我完成 Kinesis、Firehose 和 Redshift 的初步学习步骤时,我很高兴地发现亚马逊有一个 "try our demo data producer" 设置。
我很沮丧地得知它似乎并没有真正起作用。
所以,我去挖了。我发现 STL_LOAD_ERROR
包含错误,表明需要分隔符,并且记录的前面看起来像 {field:val,field:val}{field:val,field:val}
.
...{"TICKER_SYMBOL": | 1214 | Delimiter not found
"Must be stripping newlines somewhere,"我以为。
挖掘后发现相关S3 bucket中有生产记录,格式奇葩:
{field:val,field:val}{field:val,field:val}...
也就是表象记录之间没有分隔符,都是几十K的单行文件。
Other SO posts 似乎表明这实际上是预期的数据格式。
为什么 Redshift 需要数据演示不使用的格式的数据?我要重新配置哪个?
好的。遇到了三个问题。
- AWS 示例数据生成器生成的数据格式需要更改 Redshift COPY 命令,但他们没有告诉您。
- 您需要添加 FORMAT AS JSON 's3://yourbucketname/aJsonPathFile.txt'
- 您需要创建一个 JSON path file,因为默认数据生成器会生成大写的列名,而 redshift 无法使用这些名称
今天,当我完成 Kinesis、Firehose 和 Redshift 的初步学习步骤时,我很高兴地发现亚马逊有一个 "try our demo data producer" 设置。
我很沮丧地得知它似乎并没有真正起作用。
所以,我去挖了。我发现 STL_LOAD_ERROR
包含错误,表明需要分隔符,并且记录的前面看起来像 {field:val,field:val}{field:val,field:val}
.
...{"TICKER_SYMBOL": | 1214 | Delimiter not found
"Must be stripping newlines somewhere,"我以为。
挖掘后发现相关S3 bucket中有生产记录,格式奇葩:
{field:val,field:val}{field:val,field:val}...
也就是表象记录之间没有分隔符,都是几十K的单行文件。
Other SO posts 似乎表明这实际上是预期的数据格式。
为什么 Redshift 需要数据演示不使用的格式的数据?我要重新配置哪个?
好的。遇到了三个问题。
- AWS 示例数据生成器生成的数据格式需要更改 Redshift COPY 命令,但他们没有告诉您。
- 您需要添加 FORMAT AS JSON 's3://yourbucketname/aJsonPathFile.txt'
- 您需要创建一个 JSON path file,因为默认数据生成器会生成大写的列名,而 redshift 无法使用这些名称