0

我正在使用 Kinesis firehose 将数据处理为红移,并且我正在尝试 Json 和 Csv 格式。

Json 格式对我来说很好,数据正在加载到红移表中。

用于 JSON 的复制命令:

复制 products_json FROM 's3://foldername/' CREDENTIALS 'aws_iam_role=arn:aws:iam:::role/' MANIFEST json 'auto';

放置记录的 CLI 命令:

aws firehose put-record --delivery-stream-name csvtoredshiftstreamingjson --record='Data="{\"productid\":1,\"productname\":\"phone\",\"productprice\":\" 2.30\"}"'

但是,当我使用 CSV 时,数据存在于 S3 中,但未加载到 redshift 中。

用于 CSV 的复制命令:

复制 products_csv FROM 's3://foldername/' CREDENTIALS 'aws_iam_role=arn:aws:iam:::role/' MANIFEST csv ;

放置 CSV 记录的 CLI 命令:

aws firehose put-record --delivery-stream-name csvtoredshiftstream --record='Data="1,Phone,2.30"'

记录正在处理到 S3,但未加载到 redshift。STL_LOAD_ERRORS 表也没有任何记录。

如果我遗漏了什么,请告诉我。

谢谢。

4

1 回答 1

0

我能够通过解锁 Redshift 中的以下 Ips 来提供对 redshift 的 Firehose 访问来克服这个问题

美国东部(弗吉尼亚北部) 52.70.63.192/27 美国西部(俄勒冈) 52.89.255.224/27 欧盟(爱尔兰) 52.19.239.192/27

Firehose 使用这些 IP 地址与 Redshift 进行通信。

谢谢和问候, Srivignesh KN

于 2017-03-09T01:36:11.337 回答