背景・目的
Kinesis Datga Firehose(以降、KDFといいます。)から、S3にParquetを出力する機会がなかったので試してみました。
なお、思わぬところでハマったので、忘れないように合わせて載せておきます。
まとめ
- Firehoseだけではなく、Lakeformationの設定も必要でした。
概要
AthenaやRedshift Spectrumで分析しやすいようにKDFでParquetフォーマットに変換しS3に出力します。今回は、S3 Selectで確認するところまでをスコープとします。
実装
KDFの設定
-
KDFの画面で以下を入力すると、設定項目が変更されます。
-
ストリーム名に名前をつけます。
-
変換のために以下を設定します。
-
以下を入力しデータをフィードするS3の設定を行います。
-
最後にCreate Delivery Streamをクリックします。(IAMロールは同時に作成されます。)
-
IAMポリシーを修正
-
IAMポリシーにLakeFormationを追加
-
LF-Tags or catalog resourcesで、「Named data catalog resources」を選択し、Databasesに該当するデータベース、Tablesは「all tables」を選択します。
疎通確認
考察
今回は、KDFからS3に出力するフォーマットをParquetにしてみました。簡単にできると思いきや、デフォルトで作成される権限だけではなくLakeFormationの設定が必要でした。
少しはまりましたが、これでAthenaやRedshift Spectrumでそのまま参照できそうです。
なお、以下については、別途整理しようと思います。
- Parquetファイルの構造
- LakeFormation
参考