Amazon redshift 动情消防水带演示没有分隔符;红移可以';没有语法就不能解析。哪一个是错的?

Amazon redshift 动情消防水带演示没有分隔符;红移可以';没有语法就不能解析。哪一个是错的?,amazon-redshift,amazon-kinesis,amazon-kinesis-firehose,Amazon Redshift,Amazon Kinesis,Amazon Kinesis Firehose,今天,当我学习Kinesis、Firehose和Redshift的第一步时,我很高兴地发现Amazon有一个“试用我们的演示数据生成器”的设置 我很沮丧地得知,它似乎实际上不起作用 所以,我去挖了。我发现STL_LOAD_ERROR包含的错误表明需要一个分隔符,记录的前端看起来像{field:val,field:val}{field:val,field:val} ...{"TICKER_SYMBOL": | 1214 | Delimiter not found “一定是在什么地方删掉

今天,当我学习Kinesis、Firehose和Redshift的第一步时,我很高兴地发现Amazon有一个“试用我们的演示数据生成器”的设置

我很沮丧地得知,它似乎实际上不起作用

所以,我去挖了。我发现
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

似乎表明这实际上是预期的数据格式


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

好的。有三个问题

  • AWS示例数据生成器生成的数据格式需要对Redshift COPY命令进行修改,但它们不会告诉您这一点
  • 您需要将格式添加为JSON's3://yourbucketname/aJsonPathFile.txt'
  • 您需要创建,因为默认的数据生成器生成大写的列名,而红移不能使用
  • 到目前为止,我们学到了两件事。1) 示例数据是JSON格式的。JSON需要作为复制命令打开。JSON作为“auto”2)示例数据具有大写键。Redshift只有小写的、区分大小写的列名。需要jsonpath。