問題タブ [amazon-athena]

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.

0 投票する
3 に答える
4252 参照

presto - Presto はすぐに中間結果を内部的にキャッシュしますか?

Presto には複数のコネクタがあります。コネクタは読み取りおよび書き込み操作を実装していますが、私が読んだすべてのチュートリアルから、コネクタは通常、読み取り専用のデータ ソースとして使用されているようです。たとえば、netflixでは Amazon S3 に「10 ペタバイト」のデータがあり、Presto ワーカー ノードではディスク (および HDFS) が使用されていないと明示的に述べています。記載されているユース ケースは、「アドホック インタラクティブ」クエリです。

また、Amazon Athena は本質的に S3+Presto であり、同様のユース ケースが付属しています。

これが実際にどのように機能するのか、私は困惑しています。当然のことながら、すべてのクエリで 10 PB のデータを読み取る必要はありません。したがって、データベースのインデックスなど、以前にフェッチしたデータをメモリに保持したいと考えています。ただし、データとクエリに制約がないため、これがどのように効率的であるかを理解できません。

ユース ケース 1: ダッシュボードにメトリックを表示するなど、同じクエリを頻繁に実行します。Presto は、既に「既知」のデータ ポイントの再スキャンを回避しますか?

ユース ケース 2: 大規模なデータ セットを分析しています。各クエリはわずかに異なりますが、共通のサブクエリがあるか、データの共通のサブセットにフィルターをかけます。Presto は以前のクエリから学習し、中間結果を引き継いでいますか?

または、そうでない場合は、中間結果をどこかに保存することをお勧めしますか (たとえば、CREATE TABLE AS ...)?