現在S3に保存しているcsvファイルをデータセットに指定して分析を作成しています。
この時にS3のcsvファイルを定期更新しており、直接ファイルを上書きしています。
このcsvに新たにカラムを追加して更新をしたところ、データセットに読み込まれる行数がそれまでの2倍となってしまい、重複してデータセットに読み込まれてしまいました。
この時、csvファイル自体は重複したデータは存在しません。
csvのカラムを追加する際は、更新ではなくファイルを新規で作成する必要があるのでしょうか?
現在S3に保存しているcsvファイルをデータセットに指定して分析を作成しています。
この時にS3のcsvファイルを定期更新しており、直接ファイルを上書きしています。
このcsvに新たにカラムを追加して更新をしたところ、データセットに読み込まれる行数がそれまでの2倍となってしまい、重複してデータセットに読み込まれてしまいました。
この時、csvファイル自体は重複したデータは存在しません。
csvのカラムを追加する際は、更新ではなくファイルを新規で作成する必要があるのでしょうか?
お問い合わせありがとうございます。
以下ユーザガイドに記載がある通り、カラムが同じ場合に更新は成功します。
現在データセット内にある元のファイルと同じフィールドが、同じ順序で新しいファイルに含まれていることを確認してください。2 つのファイルの間にフィールド (列) の不一致がある場合はエラーが発生するので、更新を再試行する前に不一致を修正する必要があります。
カラム追加はうまくいくケースもありますが、挙動がどうなるか不明なため再作成頂く必要があります。
ご連絡ありがとうございます。
csvファイルの末尾に新しくカラムを追加してS3に保存しました。
この場合でもQuick Sightのデータセット更新時にうまくいかない可能性があるということですよね。
今回のように同じcsvファイルを扱うが、中身を定期更新されるものをデータセットに使用する場合には、毎回新しくデータセットを作成するしかないのでしょうか?
他の方法も考えられるのであればご教示いただけますと幸いです。
例えばカラムが追加されても、元のデータ項目だけを引き続き使うようなケースにおいては、Athenaを利用して、SQLで項目を指示する案があります。
クエリの料金はかかっていましますが、常に同じ項目のみを扱えるメリットがあります。手順は以下のハンズオンが参考になります。
そうではなく、追加された項目も表示したいということになると、データセットの作り直しが必要となります。
ご回答いただきありがとうございました。
上記の内容ですが、下記の内容で解決できましたのでご共有させていただきます。