Apache Parquet ファイルでの作業
Apache Parquet は、大きいデータセットの保存とクエリに非常に効率的な列型ストレージ フォーマットです。Qlik Sense では、Parquet ファイルからのデータを読み込み、Parquetファイルとしてテーブルを保存できます。
Parquet を使用すると、テーブル全体を読み込むのではなく、テーブル内の特定の列を効率的にクエリできます。これは、大きなデータの処理に適しています。また、Parquet はデータの効率的な圧縮とエンコーディングをサポートします。これにより、さらにストレージ スペースを削減して、クエリ パフォーマンスを改善できます。
Parquet ファイルの作成
スクリプトで Store コマンドを使用して Parquet ファイルを作成できます。スクリプトで、以前に読み取ったテーブルまたはその一部を、選択した場所にある明示的に指定されたファイルにエクスポートするように記述します。Parquet ファイルのデータに保存するデータをネストできます。
詳細については、「Store」を参照してください。
Parquet ファイルからのデータのロード
Parquet ファイルからのデータを、Qlik Sense でサポートされているその他のデータと同様に読み込むことができます。これには、データ マネージャー、データ ロード エディター、またはデータを新しいアプリに追加するタイミングが含まれます。
詳細については、「ファイルからのデータのロード」を参照してください。
また、LOAD コマンドを使って、Parquet ファイルからのデータをデータ ロード スクリプトにロードできます。例:
詳細については、「 Load」を参照してください。
ネストされた Parquet ファイルからのデータのロード
Parquet ファイルにネストされたデータが含まれている場合は、複数の Load ステートメントでロードする必要があり、各テーブルにどのサブセットをロードするかを指定します。Table is 指定子は、ロードされるスキーマのグループ ノードへのパスを証明するために使用されます。
指定子 Delimiter is を使用してノードの結合方法を指定できます。区切り記号を含まないネストされたデータのあるファイルをロードする LOAD ステートメントは、スクリプト変数 FieldNameDelimiter で指定された値を使用します。区切り記号がなく、FieldNameDelimiter が設定されていない場合、既定の区切り記号は '.' になります。
Table is パスに一致するノードのみがロードされます。
データ ノードはネストなしでファイルにロードされます。
グループ ノードは、項目名に名前を追加することで、グループ内の項目をグループ化します。たとえば、field1 と field2 を含むグループは、group.field1 および group.field2 としてロードされます。
リスト ノードは、テーブルのリンクに使用されるキー項目を生成します。例: %Key_group.list。 リスト内のグループまたはデータ ノードは、別の Load ステートメントでロードする必要があります。親リストへのキー項目も追加されます。
次の例では、ネストされたデータを Parquet ファイルに保存する の例で作成されたのと同じネストされた Parquet ファイルを、データ マネージャー と データ ロード エディター を使用してアプリにロードしたものを示しています (選択データとカスタム スクリプトによる既定のスクリプトを使用)。
データ マネージャー
データ マネージャー で customer.parquet を ロードし、推奨される関連付けをすべて適用すると、次のデータ モデルが得られます。
データ マネージャー を使用して company.parquet をロードするためのデータ モデル

データ ロード エディター (データを選択)
データ ロード エディター で [データを選択] を使用してデータをロードすると、次のスクリプトが作成されます。
データ モデル ビューア のデータ モデルは次のようになります。
データ ロード エディター で [データを選択] を使用して company.parquet をロードするためのデータ モデル

データ ロード エディター (カスタム ロード スクリプト)
カスタム ロード スクリプトを使用すると、項目とテーブルが customer.parquet からロードされる方法をより詳細に制御できます。次のロード スクリプトは、company.parquet からテーブルと項目をロードします。
これにより、次のデータ モデルが作成されます。これは、データが Parquet ファイルに保存される前の元のデータ モデルと同一です。
データ ロード エディター でカスタム スクリプトを使用して company.parquet をロードするためのデータ モデル

制限事項
Parquet には、次の制限事項があります。
-
int96 タイムスタンプ フィールドを含む Parquet ファイルは、正しくロードされない可能性があります。
Int96 は、タイムゾーン情報を含まないタイムスタンプを含む非推奨のデータ型です。フィールドを UTC として読み込むよう試行されますが、異なるベンダー実装があるため、成功は保証されません。
ロードされたデータを検証して、必要に応じてオフセットを使い、正しいタイムゾーンに合わせて調整します。