質問
Snowflakeコネクターでバッチアップデート・インサートを実行すると、数千件のデータ処理に数時間かかります。
処理速度を改善する方法はありますか?
回答
以下の対処方法をお試しください。
1. バッチサイズを総レコード数以上に変更する
- 指定可能なバッチサイズの最大値は2,147,483,647です
- バッチサイズを大きくする場合は、相応のリソース確保が必要です
2. コネクション設定を見直す
- URL指定ではなく、アカウント識別子・ウェアハウス名などの必須項目を
直接設定することで処理速度が改善した事例があります
3. リソース使用状況を確認する
- コスト管理画面から処理実行時のCPUとメモリの使用状況を確認してください
- 必要に応じてリソース増強をご検討ください
4. クエリタイムアウトの設定に注意する
- クエリタイムアウトを有効にする場合は、350秒未満に設定する必要があります
- HULFT Squareの仕様制限により、リクエストから350秒経過する前に応答がない場合、
その後応答が返されたとしてもスクリプト側で応答を検知できず、ステータスが実行中のままとなる場合があります
- 350秒を超える処理が想定される場合は、クエリタイムアウトを設定せず、スクリプトにタイムアウト判定処理を実装してください
[重要な動作仕様]
- キーの値と一致する行は更新にチェックを入れている場合、キーの値と一致する行が複数存在すると、すべての行が更新されます
- 更新対象レコード数が想定より多い場合は、キー項目の設定を見直してください
参考FAQ:CSVファイルから読み取ったデータをSnowflakeへINSERTしようとすると、スクリプトが実行中のままとなり、処理終了までに時間がかかる
コメント
0件のコメント
記事コメントは受け付けていません。