# ストリーミング データセットの保存

以下のストリーミング変換タスク設定は、ストリーミング ソースを使用する Qlik Open Lakehouse プロジェクトに適用されます。

ストリーミング変換データ タスクを使用すると、ストリーミング データを保存および変換できます。ストリーミング データには、多くの場合、フラット化が必要なネスト構造や配列が含まれているため、保存の段階で変換機能が必要となります。これらの機能はストリーミング変換タスクで利用でき、ストリーミング データのランディング直後に変換を適用できます。

## データセットの粒度を管理する

ネストされた構造と配列をフラット化して、粒度を上げることができます。[粒度] はデータセット ビューに表示されます。粒度を編集するには、the 編集 icon をクリックします。

* 配列から項目を選択すると、ターゲット テーブルには要素ごとに 1 行が含まれるようになります。これにより、ターゲットの行数が増加します。

* 同じ配列パスから項目を選択する必要があります。異なるパスから項目を選択すると、検証エラーが発生します。

* 表示されるデータ タイプは、選択された粒度を反映して変化します。たとえば、ARRAY&lt;INT&gt; はフラット化されると INT になります。詳細については、「[データ型のマッピング](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/onboarding-data-streaming.htm#Data)」を参照してください。

## タスクを削除する

データ タスクが実行中でなく、同じプロジェクト内のダウンストリーム タスクへの依存関係がない場合は、データ タスクを削除できます。

* プロジェクトの [パイプライン プロジェクト] ビューで、タスク上の the 詳細 icon をクリックし、 [削除] を選択します。

このタスクによって作成されたアーティファクト (テーブルおよびビュー) は、保持を選択しない限り削除されます。

情報メモ保持するアーティファクトは、タスクによって更新されなくなることに留意してください。

## タスク情報の表示

メニュー バーで the 情報 icon をクリックして、次のようなタスク情報を表示します。

* 所有者

* スペース

* データ プラットフォーム

* プロジェクトID

* データ タスク実行 ID

## ストリーミング変換の設定

データ プラットフォームが Qlik Open Lakehouse の場合、ストリーミング変換データ タスクのプロパティを設定できます。

* [Settings] (設定)をクリックします。

### 一般設定

* タスクのスキーマ

  ストリーミング変換タスクのスキーマの名前を変更できます。デフォルト名は、ストレージ タスクの名前です。

* 内部スキーマ

  内部ストレージ データ アセット スキーマの名前を変更できます。デフォルト名は、ストレージ タスクの名前に \_internal を追加したものです。

* すべてのテーブルとビューのプレフィックス

  このタスクで作成したすべてのテーブルとビューにプレフィックスを設定できます。

  情報メモ複数のデータ タスクでデータベース スキーマを使用する場合は、一意のプレフィックスを使用する必要があります。

* 使用するフォルダー

  ストリーミング変換タスクのストレージ フォルダーを変更できます。

* 新しいデータセットのロード設定

  * 追加のみ

    既存のデータを変更せずに新しいレコードを追加します。 重複するレコードが到着した場合でも、キー制約は適用されません。

  * 変更を適用

    キー項目に基づいて既存のレコードを更新し、新しいレコードを挿入します。

    変更のマージを選択した場合、次のオプションも選択できます。

    * 削除式を指定してレコードをソフト削除する

      削除するレコードをマークするための削除式を定義します。

    * 履歴レコードを保持する (タイプ 2)

      変更されたレコードの以前のバージョンを保持します。

* 列のネスト解除

  * ネストされた列を保持する

    ネストされたデータを保持する場合に選択します。

  * ネストを解除して個別の列にする

    既定の動作として、データが個別の列にネスト解除されます。

* ターゲット テーブルのパーティション

  情報メモこのオプションは、ロード設定で追加のみが選択されている場合にのみ使用できます。

  * パーティションなし

    新しいテーブルはパーティションなしで作成されます。

  * イベント日付でパーティション化

    新しいテーブルは、イベントが取り込まれた日付でパーティション化されます。

* データ変更処理

  情報メモこのオプションは、 [ロード設定] で [変更の適用] が選択されている場合にのみ使用できます。

  * ソフト削除を含める: 削除対象としてマークするレコードを定義する式を入力します。

  * 履歴データ ストア (タイプ 2) を作成する: これにより、変更されたレコードの以前のバージョンが保持されます。

* 保持の管理

  * パーティション プルーニングなし

  * 現在のスナップショット パーティション プルーニング

### テーブル定義

* hdr\_\_from\_timestamp

  このオプションが有効な場合、hdr\_\_from\_timestamp ヘッダー列が標準ビューに表示されます。さらに、オンボーディング ウィザードで [イベント取り込み日でパーティション化] が選択されている場合、hdr\_\_from\_timestamp が既定のパーティション列として使用されます。

  情報メモこの設定にかかわらず、履歴ビューにはすべての標準ビュー ヘッダー列が常に含まれます。

### 実行時間の設定

* レイクハウス クラスター

  レイクハウス クラスターは変更できますが、ストリーミング ワークロードまたは混合ワークロードをサポートしている必要があります。

### スキーマ進化設定

* 新しいデータセットの追加

  この設定は、ストリーミング ランディング タスクに新しいデータセットが追加された場合に適用されます。

  情報メモKafka からランディング読み取りをストリーミングする場合のみサポートされます。

  * ターゲットに適用

    ストリーミング ランディング タスクからストリーミング変換タスクに新しいデータセットを自動的に追加します。これは既定の設定です。

  * 無視

    新しいデータセットは追加されません。

* ルート レベルでの列の追加

  この設定は、ストリーミング ランディング タスクのルート レベルに新しい列が追加された場合に適用されます。

  * ターゲットに適用

    ストリーミング ランディング タスクからストリーミング変換タスクに新しいルート レベルの列を自動的に追加します。これは既定の設定です。

  * 無視

    新しいルート レベルの列は追加されません。

  * タスクを停止

    ストリーミング ランディング タスクで新しいルート レベルの列が検出された場合、変換タスクを停止します。

* 構造に列を追加

  この設定は、ストリーミング ランディング タスク内の既存のネストされた構造に新しい項目が追加される場合に適用されます。

  * ターゲットに適用

    ランディング構造に追加された新しい項目を、ストリーミング変換タスクにおける既存の構造に自動的に追加します。

  * 無視

    既存の構造に新しい項目を追加しません。

  * タスクを停止

    ストリーミング ランディング タスクで構造内に新しい項目が追加された場合、変換タスクを停止します。

* 項目のデータ タイプを変更

  * 無視

    データ型を変更しません。

  * タスクを停止

    ストリーミングランディングタスクでデータ型の変更が検出された場合、変換タスクを停止します。

## データセット設定

次の設定は、 [デザイン] ビュー &gt; [データセット] のすべてのデータセットで利用できます。

データセットの横にある the もっと見る icon をクリックし、 [設定] を選択します。

* データ ロード処理

  データをターゲット テーブルにロードする方法を選択します。

  * 追加のみ

    既存のデータを変更せずに新しいレコードを追加します。 重複するレコードが到着した場合でも、キー制約は適用されません。

  * 変更を適用

    キー項目に基づいて既存のレコードを更新し、新しいレコードを挿入します。

* データ変更処理

  情報メモこのオプションは、 [ロード設定] で [変更の適用] が選択されている場合にのみ使用できます。

  * ソフト削除を含める: 削除対象としてマークするレコードを定義する式を入力します。これは、変更がソフト削除である場合に True と評価される式である必要があります。

    例: operation = 'D'

  * 履歴データ ストア (タイプ 2) を作成する: これにより、変更されたレコードの以前のバージョンが保持されます。

* [Partition columns] (パーティションカラム)

  情報メモこのオプションは、ロード設定で追加のみが選択されている場合にのみ使用できます。

  必要に応じて、パフォーマンスを最適化するためにパーティション列を選択できます。

  パーティション列を追加するには、 [列を追加] をクリックし、 [変換] を選択して、必要に応じて [パラメーター] を設定します。

* 保持の管理

  パーティション プルーニングは、保持期間を超過したパーティションを削除します。これはデータを物理的に削除するものではなく、古いスナップショットにすぐに影響を与えることもありません。過去のデータは、有効期限が切れるまで過去のスナップショット内で利用できる場合があります。

  情報メモパーティションに日付または日時列が少なくとも 1 つある場合にのみ表示されます。

  * パーティション プルーニングなし

  * 現在のスナップショット パーティション プルーニング

* ソートする列

  情報メモこのオプションは、ロード設定で追加のみが選択されている場合にのみ使用できます。

  必要に応じて、Iceberg テーブルの各ファイル内でデータをソートする列を指定できます。データの取り込み中、Iceberg はこれらの列を使用してレコードを順序付けます。頻繁にクエリされる列にソートキーを設定することで、データ局所性が高まり、読み取り速度の向上と圧縮効率の改善につながります。適切に構成されたソート キーにより、クエリ パフォーマンスに合わせてデータが最適に整理されます。

  [列を追加] をクリックしてソート列を追加し、ソート順を設定します。

* スナップショットの有効期限

  この設定は、スナップショットが保持される期間を制御し、テーブルのサイズとストレージ コストに大きな影響を与えます。頻繁に更新されるテーブルの場合、ストレージ コストを削減するために、期間を短くすることを推奨します。

  情報メモスナップショットの有効期限を無効にするには 0 を入力してください。

* 標準ビュー ヘッダー

  * データ タスクの設定から継承

    これが既定です。このデータセットにのみ特定のヘッダー列を設定する場合は、無効にしてください。

  * hdr\_\_from\_timestamp

    このオプションが有効な場合、hdr\_\_from\_timestamp ヘッダー列が標準ビューに表示されます。さらに、オンボーディング ウィザードで [イベント取り込み日でパーティション化] が選択されている場合、hdr\_\_from\_timestamp が既定のパーティション列として使用されます。

    情報メモこの設定にかかわらず、履歴ビューにはすべての標準ビュー ヘッダー列が常に含まれます。