問題タブ [amazon-kinesis-firehose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory
私は過去6か月からawsを使用しており、バッチリクエストをfirehoseに送信するアプリケーションを開発しました。今日まで問題なく動作していましたが、ローカル システムに再デプロイすると、java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory
. このエラーの意味はわかっています。しかし、私の質問は、なぜ今日この例外を受け取ったのですか? 私は自分のプロジェクトで次の依存関係を使用しています:
そして、私はClientConfigurationFactory
クラスを検索しましたが、どこにも見つかりませんでした(どこでも私の依存関係を意味します)。
私の質問は、このクラスがどこにあり、なぜ今日だけこのエラーが発生したのですか? 初期の開発時 (6 か月前) にこのエラーに直面しなかったためです。今日、依存関係/コードを変更していません。そして、私は自分のプロジェクトでこのクラスを使用していません (
aws-sdk
内部で使用していたのではないかと疑っています)。
注:依存関係を見逃していませんか? と尋ねることはできません。以前は正常に動作していたからです。
ご不明な点がございましたらコメントください。ありがとう。
amazon-web-services - 自動ワイヤ キネシス ストリームからキネシス ファイアホースへ?
一部のコンシューマーによって処理されるキネシス ストリームにデータを公開しています。ストリームに公開された生データも s3 に保存したいと思います。Kinesis ストリームを Kinesis Firehose に自動接続することは可能ですか? または、Kinesis コンシューマーから Firehose に直接発行する必要がありますか?
amazon-web-services - AWS Firehose の使用時に s3 ファイルを連結する
次の構成で s3 にデータを配置するAWS Kinesis Firehose ストリームがあります。
すべて正常に動作します。唯一の問題は、Firehose がデータのチャンクごとに 1 つの s3 ファイルを作成することです。(私の場合、スクリーンショットのように、毎分 1 つのファイルです)。時間の経過とともに、これは大量のファイルになります。1 日あたり 1440 ファイル、1 年あたり 525,000 ファイルです。
これは管理が困難です (たとえば、バケットを別のバケットにコピーする場合、すべてのファイルを 1 つずつコピーする必要があり、これには時間がかかります)。
2 つの質問:
- Kinesis に古いファイルをグループ化/連結するように指示する方法はありますか? (たとえば、24 時間以上経過したファイルは、1 日 1 回のチャンクにグループ化されます)。
- COPY redshift
COPY
のパフォーマンスは、多数の s3 ファイルから ing する場合と少数の s3 ファイルから行う場合にどのように影響しますか? これを正確に測定したことはありませんが、私の経験では、小さなファイルがたくさんある場合のパフォーマンスはかなり悪くなります。私が思い出す限り、大きなファイルを使用する場合、約 2M 行の COPY は約 1 分です。200 万行に多数の小さなファイル (~11k ファイル) が含まれる場合、最大 30 分かかります。
私の主な懸念事項は次の 2 つです。
- redshift COPY パフォーマンスの向上 (s3 から)
- 全体的な s3 ファイル管理の容易化 (バックアップ、あらゆる種類の操作)
php - AWS Kinesis Firehose 経由で挿入するときに、ElasticSearch ドキュメント ID を手動で設定する方法はありますか?
AWS ElasticSearch クラスターにデータをフィードするように AWS Kinesis Firehose Stream をセットアップしており、ドキュメントを Firehose Stream に送信して ElasticSearch にロードすることで、ドキュメントを正常に挿入できます。
id
しかし、ドキュメントを Firehose ストリームに送信するときに、ドキュメントの値を手動で指定/設定できるようにしたいと考えています。AWS PHP SDK を使用して Firehose にデータを送信することに成功していますが、ドキュメントの .xml ファイルを手動で設定する方法があるかどうかわかりませんid
。
JSON データに 、id
、_id
および値を設定しようとしましたが、すべて役に立ちませんでした。esDocumentId
誰にもアイデアはありますか?
amazon-web-services - AWS Firehose 中間 S3 バケットと配信ストリームの依存関係の問題
複数の配信ストリームに対して 1 つの s3 バケットを設定することをお勧めしますか? (例: 異なるストリーミング スループット、s3 バッファー サイズ/バッファー間隔を持つ 2 つの配信ストリームを検討してください...)
2 つの配信ストリーム (S1、S2) がデータを redshift にルーティングしている場合。S1 はデータを T1 に配信し、S2 は T2 にデータを配信しています。T2 では、T1 に外部キー制約があります。S2 がデータ (D2) を T2 に配信するときに、D2 によって参照される T1 内のすべてのレコードが S1 によって既に配信されていることを保証できますか? (つまり、配信ストリームに依存関係があります)
ところで、私は firehose を使用して、分析のためにアプリケーション ログを redshift にプッシュしています。