SPICE へのデータのインポート - Amazon QuickSight

SPICE へのデータのインポート

ダイレクト SQL クエリを使用する代わりにデータをデータセットにインポートすると、データはその保存方法のために SPICE データになります。SPICE (Super-fast, Parallel, In-memory Calculation Engine) は、Amazon QuickSight が使用する堅牢なインメモリエンジンです。SPICE は、高度な計算を迅速に実行し、データを提供するように設計されています。Enterprise Edition では、SPICE に保存されるデータが保管時に暗号化されます。

データセットを作成または編集するときは、データセットにアップロードされたファイルが含まれている場合を除き、SPICE または直接クエリの使用を選択します。SPICE にデータをインポートする (取り込むとも言います) ことにより、時間とコストを節約できます。

  • 分析クエリの処理速度が速くなる。

  • 直接クエリが処理されるまで待つ必要がない。

  • SPICE に保存されたデータは、追加コストを発生させることなく複数回再利用できる。クエリごとに課金されるデータソースを使用すると、最初にデータセットを作成するときと、後でデータセットを更新するときに、データのクエリに対して課金されます。

SPICE 容量は AWS リージョンごとに個別に割り当てられ、ホーム AWS リージョンにデフォルトの SPICE 容量が自動的に割り当てられます。各 AWS アカウントでは、単一の AWS リージョンで QuickSight を使用しているすべてのユーザーが SPICE 容量を共有します。容量を別途購入しない限り、他の AWS リージョンに SPICE 容量は割り当てられません。QuickSight の管理者は、各 AWS リージョンで利用できる SPICE 容量と、そのうちで現在使用中の容量を確認できます。QuickSight の管理者は、必要に応じて SPICE 容量を追加購入する、または未使用の SPICE 容量を解放することができます。詳細については、SPICE 容量の管理 を参照してください。

SPICE データセットのための容量計画

データセットが使用する SPICE 容量は、そのソースファイルまたはテーブルのサイズと同じではありません。論理サイズの計算は、データの準備中に定義したすべてのデータ型変換および計算された列の後に行われます。これらのフィールドは、クエリパフォーマンスを向上させるように SPICE でマテリアライズされます。分析で行われる変更は、SPICE 内のデータの論理サイズに影響を及ぼしません。データセットで保存された変更のみが SPICE 容量に適用されます。

SPICE の容量計画では、データセットで定義する予定のデータ型を考慮します。例えば、インポートするファイルには、すべての文字列 (テキスト) が含まれている場合があります。しかし、これらを分析で有効に活用するには、データ型を適切な形式に変更してデータを準備します。例えば、料金を含むフィールドを文字列から小数に変更し、日付を含むフィールドを文字列から日付に変更します。変換を行うための計算を作成する場合は、元のフィールドをデータセットから削除し、フォーマットされた計算フィールドに置き換えます。その場合、容量計画に元のフィールドのサイズを含める必要はありません。含まれているフィールドのみが SPICE に保存されます。

注記

地理空間データ型は、メタデータを使用して物理データ型を解釈します。緯度と経度は数値です。その他のすべての地理空間カテゴリは文字列です。

データセットに必要な SPICE 容量を計算するには、SPICE が行ごとに使用するバイト数を行数に乗算します。現在、SPICE は小数、int、および日付のフィールドごとに 8 バイトを必要とします。各文字列フィールド (テキスト) については、SPICE は 8 バイトに加えて UTF-8 でエンコードされた文字長を必要とします。数式は次のようになります。

Total logical row size in bytes = (Number of Numeric Fields * 8 bytes per field) + (Number of Date Fields * 8 bytes per field) + (Number of Text Fields * (8 bytes + UTF-8 encoded character length per field) ) Total bytes of data = Number of rows * Total logical row size in bytes GB of SPICE Capacity Needed = Total bytes of data / 1,073,741,824

例えば、SPICE にインポートしたい 5,000,000 行のテーブルがあるとします。これには、30 個の数値フィールドと、20 個の日付フィールドと、それぞれ 100 バイトの 10 個の文字列フィールドがあります。数式は次のようになります。

Total logical row size in bytes = 1480 bytes = (30 * 8) + (20 * 8) + (10 * (8 + 100) ) Total bytes of data = 5,000,000 rows * 1480 bytes = 7,400,000,000 bytes GB of SPICE Capacity Needed = 7,400,000,000 / 1,073,741,824 = 7 GB