0

今日、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 の単一行ファイルである見かけのレコード間に区切り文字はありません。

他の SO 投稿は、これが実際に期待されるデータ形式であることを示唆しているようです。

データ デモで使用されていない形式のデータが Redshift に必要なのはなぜですか? どちらを再構成しますか?

4

1 に答える 1

1

わかった。3つの問題がありました。

  1. AWS のサンプル データ プロデューサーは、Redshift の COPY コマンドを変更する必要がある形式でデータを生成しますが、それを教えてくれません。
  2. FORMAT AS JSON 's3://yourbucketname/aJsonPathFile.txt' を追加する必要があります
  3. デフォルトのデータ プロデューサーは大文字の列名を生成するため、 JSON パス ファイルを作成する必要があります。
于 2017-01-05T22:48:03.467 に答える