翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Trinoでのフォールトトレラント実行
フォールトトレラント実行は、クラスターがクエリの失敗を軽減するために使用できるTrinoのメカニズムです。そのために、クエリやそのコンポーネントタスクが失敗したときに再試行します。フォールトトレラント実行を有効にすると、中間交換データがスプールされ、クエリ実行中にワーカーが停止したり、その他の障害が発生した場合に、別のワーカーがそのデータを再利用できます。
Trinoでのフォールトトレラント実行の詳細については、Trinoブログの「Project TardigradeがTrinoのスピードでETLを初期のユーザーに提供する
構成
フォールトトレラント実行はデフォルトで無効になっています。この機能を有効にするには、retry-policy
trino-config
QUERY
TASK
次のように分類の構成プロパティを目的の再試行ポリシーに基づいてまたはいずれかの値に設定します。
{"classification": "trino-config", "properties": { "retry-policy": "
QUERY
" } }
QUERY
再試行ポリシーは、ワーカーノードでエラーが発生したときにクエリを自動的に再試行するようにTrinoに指示します。Trinoクラスターのワークロードの大部分が多数の小さなクエリで構成されている場合は、QUERY
再試行ポリシーを使用することをお勧めします。
TASK
再試行ポリシーは、失敗した場合に個々のクエリタスクを再試行するようにTrinoに指示します。Trinoが大規模なバッチクエリを実行する場合には、このポリシーをお勧めします。クラスターは、クエリ全体を再試行するよりも、クエリ内の小さなタスクをより効率的に再試行できます。
Exchange Manager
エクスチェンジマネージャーは、フォールトトレラント実行のためにスプールされたデータを保存および管理します。外部ストレージを使用して、メモリ内のバッファサイズを超えてこぼれたデータを保存します。スプールされたデータを Amazon S3、Amazon S3 互換システム、HDFS などの指定された場所に保存するファイルシステムベースの交換マネージャーを設定できます。
Amazon EMR リリース 6.9.0 以降には、trino-exchange-manager
エクスチェンジマネージャーを設定するための分類が含まれています。これらのリリースでは HDFS のスプールもサポートしています。
エクスチェンジマネージャーの設定
trino-exchange-manager
構成分類を使用して、エクスチェンジマネージャーを構成します。この分類により、etc/exchange-manager.properties
コーディネーターとすべてのワーカーノードに設定ファイルが内部的に作成されます。また、exchange-manager.name
filesystem
この分類では構成プロパティがに設定されます。
デフォルトでは、Amazon EMR リリース6.9.0 以降は HDFS をExchange マネージャーとして使用します。HDFS は Amazon EMR EC2 クラスターで使用でき、trino-exchange/
スプーリングはデフォルトでディレクトリで行われます。デフォルト設定を使用するには、次の構成を設定します。
{"Classification": "trino-exchange-manager" }
カスタムの場所を指定する場合は、trino-exchange-manager
分類で次のプロパティを設定します。
-
exchange.use-local-hdfs
をtrue
に設定します。 -
HDFS のカスタムディレクトリの場所 (例:)
exchange.base-directories
に設定しますexchange.base-directories=/exchange
。カスタムディレクトリがまだ HDFS にない場合は、Amazon EMR によって作成されます。
HDFS エクスチェンジマネージャーの構成
内部テストの結果によると、他のクラウドベースのファイルシステムと比較してクエリのパフォーマンスを向上させるには、ローカルの HDFS にスプールすることをお勧めします。HDFS を使用して Exchange Manager には、次の設定を設定できます。
構成 | 説明 | デフォルト設定 |
---|---|---|
|
HDFS ストレージのブロックサイズ |
4 MB |
|
HDFS を設定するファイルパスのリスト |
|
その他の耐障害実行設定プロパティ、および Amazon S3 またはその他の Amazon S3 互換システムをスプール用に設定する方法については、Trino ドキュメントの耐障害実行ページを参照してください
考慮事項と制約事項
-
フォールトトレラント実行を有効にすると、
write
whenwrite
retry-policy
が設定されていないコネクタの操作が無効になります。Amazon EMR リリース 6.9.0 以降、デルタレイク、ハイブ、write
アイスバーグの各コネクタはでの操作をサポートしていますretry-policy
。 -
Exchange Manager を使用して負荷の高い I/O 操作を実行すると、Exchange Manager が中間データを外部ストレージにスプールしている間にクエリのパフォーマンスが低下する可能性があります。