データ プラットフォームに既存のデータを登録する
データ プラットフォームにある既存のデータを登録し、データをキュレーションして変換し、データ マートを作成できます。これにより、Qlik Talend Data Integration 以外のツール (Qlik Replicate または Stitch など) を使ってオンボーディングされたデータを使用できます。
データを登録すると、2 つのデータ タスクが作成されます。
-
登録済みデータ
データを登録する際には、データセット作成にすぐ使用できるデータを準備するためのビューを作成する必要があります。
-
ストレージ
これには、登録済みデータに基づいたデータセットの生成と保存が含まれます。
データを登録すると、いくつかの方法で生成済みのデータを使用できます。
-
分析アプリ内にあるデータセットを使用できます。
-
変換を作成できます。
-
データ マートを作成できます。
データを登録する
プロジェクトで定義したクラウド データ ウェアハウスに存在するデータを登録できます。生成したデータセットは、同じクラウド データ ウェアハウスに保存されます。
プロジェクトの詳細については、「データ パイプラインの作成 」を参照してください。
-
プロジェクトで [作成] をクリックし、 [データの登録] をクリックします。
-
データ タスクの [名前] と [説明] を追加します。
[次へ] をクリックします。
-
登録するデータを選択します。
[次へ] をクリックします。
[設定] が表示されます。
-
[更新方法] でデータの更新方法を選択します。
データが Qlik Replicate または Stitch によって複製される場合は、 [高基準値を使用した増分] を選択します。
-
[高基準値を使用した増分] を使用して、高基準値パターンを使ったデータ変更を増分的に処理します。これは、データが Qlik Replicate (フル ロードと変更の保存が有効になっている) または Stitch によって複製される場合に推奨される方法です。
詳細については、「更新方法」を参照してください。
-
データが 1 回だけロードされる、またはフル リロードを使って更新される場合は、[現在のストレージと比較する] を選択します。
-
-
サマリーで作成された 2 つのデータ タスクをプレビューし、必要に応じて名前を変更します。
ヒント メモこの名前は、ストレージ データ タスクでデータベース スキーマに名前を付けるときに使用されます。スキーマは 1 つのタスクにのみ関連付けることができるため、同じデータ プラットフォームを使用する他のプロジェクトのデータ タスクとの競合を避けるために、一意の名前を使用することを検討してください。 -
必要に応じて、登録済みデータ タスクを開くか、プロジェクトに戻ります。
準備ができたら、 [完了]をクリックします。
2 つのデータ タスクが作成されました。データのレプリケーションを開始するには、次のことが必要です。
-
登録済みデータ タスクを準備します。
データ タスクで [準備] をクリックします。
アーチファクトが作成されると、データ タスクのスタータスが登録済みに変わります。
-
ストレージ データ タスクを準備して実行します。
詳しくは「データセットの保管」を参照してください。
含めるデータの選択
含めるデータを選択する際、特定のテーブルまたはビューを選択することや、選択ルールを使用してテーブルのグループを含めるか除外することができます。
% をワイルドカードとして使用して、スキーマとテーブルの選択基準を定義します。
-
%.% は、すべてのスキーマのすべてのテーブルを定義します。
-
Public.% は、スキーマの [パブリック] のすべてのテーブルを定義します。
[選択基準] により、選択内容に基づいたプレビューが表示されます。
次のいずれかを実行できるようになりました。
-
選択基準に基づいて、テーブルのグループを含めるまたは除外するルールを作成します。
[選択条件からルールを追加] をクリックしてルールを作成し、 [含める] または [除外] のいずれかを選択します。
[選択ルール] の下にルールが表示されます。
-
1 つ以上のデータセットを選択し、 [選択したデータセットを追加] をクリックします。
[明示的に選択したデータセット] の下に、追加されたデータセットが表示されます。
選択ルールは、現在のテーブルとビューのセットにのみ適用され、将来追加されるテーブルとビューには適用されません。
メタデータの更新
タスクのメタデータを更新して、タスクの [設計] ビューのソースのメタデータの変更に合わせることができます。Metadata Manager を使用する SaaS アプリケーションの場合、データ タスクでメタデータを更新する前に、Metadata Manager を更新する必要があります。
-
次のいずれかを実行できます:
-
[...] をクリックし、 [メタデータを更新] をクリックして、タスク内のすべてのデータセットのメタデータを更新します。
-
[データセット] 内のデータセットで [...] をクリックし、 [メタデータを更新] をクリックして、単一のデータセットのメタデータを更新します。
画面の下部にある [メタデータを更新] でメタデータの更新のステータスを確認できます。 にカーソルを合わせると、メタデータが最後に更新された日時を確認できます。
-
-
変更を適用するには、データ タスクを準備します。
データ タスクを準備し、変更を適用すると、変更は [メタデータを更新] から削除されます。
変更をプロパゲートするには、このタスクを使用するストレージ タスクを準備する必要があります。
列が削除されると、ストレージから履歴データが失われないように、Null 値を使用した変換が追加されます。
メタデータの更新に関する制限
-
同じ時間スロットで、それ以前に削除された列を含む名前変更は、同じデータ型とデータ長である場合、削除された列の名前変更に変換されます。
前: a b c d
後: a c1 d
この例では、b が削除され、c の名前が c1 に変更され、b と c のデータ型とデータ長は同じになります。
これは、b から c1 への名前変更と c の削除として識別されます。
-
最後の列が削除され、その前の列の名前が変更された場合でも、最後の列の名前変更は認識されません。
前: a b c d
後: a b c1
この例では、d が削除され、c の名前が c1 に変更されました。
これは、c と d の削除と c1 の追加として識別されます。
-
新しい列は最後に追加されると想定されます。途中に次の列と同じデータ型の列が追加されると、削除と名前変更として解釈される可能性があります。
登録済みのデータ設定
登録済みデータ タスクのプロパティを設定できます。
-
[設定] をクリックします。
一般設定
-
データベース
ターゲットで使用するデータベースです。
-
タスクのスキーマ
データ タスクのスキーマの名前を変更できます。
- すべてのテーブルとビューのプレフィックス
このタスクで作成したすべてのテーブルとビューにプレフィックスを設定できます。
情報メモ複数のデータ タスクでデータベース スキーマを使用する場合は、一意のプレフィックスを使用する必要があります。
更新方法
変更検出
-
データが 1 回だけロードされる、またはフル リロードを使って更新される場合は、[現在のストレージと比較する] を選択します。
-
[高基準値を使用した増分] を使用して、高基準値方法を使ったデータ変更を増分的に処理します。
このオプションでは、すべてのテーブルに主キーが定義されている必要があります。主キーが欠落しているテーブルのデータセット ビューで、主キーを手動で定義できます。
増分ロードの設定
これらの設定は、[高基準値を使用した増分] が選択されたときに利用できます。
-
データがフル ロードと変更の保存で Qlik Replicate タスクによって複製された場合、[増分ロードの設定] を [Qlik Replicate設定] に設定します。
-
データが Stitch データ パイプラインによって複製され、ソース テーブルに主キーが定義されている場合は、 [増分ロードの設定] を [Stitch デフォルト設定] に設定します。
-
そうでない場合は、[増分ロードの設定] を [カスタム] に設定してください。
設定 | カスタム | Qlik Replicate 設定 | Stitch デフォルト設定 |
---|---|---|---|
変更テーブル |
変更が同一テーブル内にある場合、[変更は同一テーブル内] を選択します。 そうでない場合、[変更は同一テーブル内] の選択を解除してから、[変更テーブル パターン] の変更テーブル パターンを指定します。 |
${SOURCE_TABLE_NAME}__ct table | 変更は同じテーブル内 |
基準値列 | [名前] で基準値列の名前を設定します。 | header__change_seq | _SDC_BATCHED_AT |
「開始日」列 |
バッチ開始時刻で、または選択した列を使って「開始日」を示すことができます。 [選択された「開始日」列] を選択した場合、[「開始日」パターン] を定義する必要があります。 |
header__timestamp | _SDC_BATCHED_AT
バッチ開始時刻で、または別の列を選択することによって、「開始日」を示すように変更できます。 |
論理的な削除 |
[変更に論理的な削除を含む] を選択して、表示数式を定義することによって、変更に論理的な削除を含めることができまs。 この表示数式は、変更が論理的な削除である場合に「True」と評価されます。 Example: ${is_deleted} = 1 |
${header__change_oper} = 'D' |
[変更に論理的な削除を含む] を選択して、表示数式を定義することによって、変更に論理的な削除を含めることができまs。 この表示数式は、変更が論理的な削除である場合に「True」と評価されます。 Example: ${is_deleted} = 1 |
前画像 |
前画像を選択して、表示数式を定義することにより、変更テーブルの変更で前画像レコードをフィルタリングして除外できます。 更新前の画像が行に含まれている場合、評価数式は True と評価されます。 Example: ${header__change_oper} = 'B' |
${header__change_oper} = 'B' | データ内に前画像レコードはありません。 |
カタログ設定
-
カタログに公開する
このオプションを選択して、データのこのバージョンをデータセットとしてカタログに公開します。カタログのコンテンツは、このタスクを次回準備する際に更新されます。
カタログの詳細については、カタログツールの使用によるデータの理解 を参照してください。
推奨されるQlik Replicate構成
これらの Qlik Replicate タスク設定は、Qlik Replicate タスク保存変更を使ってレプリケートされたデータを登録する際に推奨されます。
-
Qlik Replicate タスクは、オプション [フル ロード] と [変更の保存] を使って構成する必要があります。
-
[変更の保存設定] > [変更テーブル] で、次の変更テーブル列が既定名を使って含まれていることを確認します。
-
[header__]change_seq
-
[header__]change_oper
-
[header__] timestamp
-
-
[変更の保存設定] > [変更テーブル] で、[更新時] を [変更後イメージのみを保存] に設定します。
これにより、変更前の画像が含まれなくなるため、各更新のスペースが減少します。変更前の画像を使用する予定がない場合、このオプションを使用します。
-
[変更の保存設定] > [変更テーブル] で、[サフィックス] を既定値 __ct に設定します。
-
次のグローバル変換は適用しないでください。
-
変更テーブルの名前を変更
-
変更テーブルの名前を変更 スキーマ
-
-
ソース テーブルの主キーが更新できる場合、[変更処理の調整] で主キー列オプションを更新する際、[削除] と [挿入] を有効にします。
古いレコードの履歴は、新しいレコードで保存されません。
情報メモこのオプションは、Qlik Replicate 2022 年 11 月以降サポートされていません。
登録済みデータ タスクの操作
タスク メニューから登録済みデータ タスクに対して以下の操作を行うことができます。
-
開く
これにより、データ タスクが開きます。テーブル構造とデータ タスクの詳細を表示できます。
-
編集
タスクの名前と説明を編集したり、タグを追加したりできます。
-
削除
データ タスクを削除できます。
ソース データは削除されません。
- データセットの同期
これにより、自動的に調整できない設計変更が同期されます。
-
テーブルを再作成
これにより、ソースからデータセットが再作成されます。
-
データを保存
このランディング データ タスクからデータを使用するストレージ データ タスクを作成できます。
「開始日」列を設定する場合の履歴の考慮事項
ダウンストリーム タスクで履歴データが有効になっており、「開始日」列を使用する場合、バックデートはサポートされません。つまり、変更バッチにストレージに存在しない古いバージョンのレコードが含まれる場合、変更バッチにはすべての新しいバージョンのレコードも含める必要があります。新しいバージョンが含まれていない場合、変更バッチは削除されます。
これらの例では、ストレージには最初から次のレコードが含まれています。
開始日 | 名前 | 都市 |
---|---|---|
2/Oct/2023 | Joe | ニューヨーク |
2023/10/3 | Joe | ロンドン |
例1:
次の変更バッチを挿入する場合:
開始日 | 名前 | 都市 |
---|---|---|
4/Oct/2023 | Joe | パリ |
予想どおりのストレージの結果:
開始日 | 名前 | 都市 |
---|---|---|
2/Oct/2023 | Joe | ニューヨーク |
2023/10/3 | Joe | ロンドン |
4/Oct/2023 | Joe | パリ |
例2:
しかし、変更バッチに次のような古いレコードを挿入した場合:
開始日 | 名前 | 都市 |
---|---|---|
1/Oct/2023 | Joe | ベルリン |
これにより、新しいレコードがストレージから削除されます:
開始日 | 名前 | 都市 |
---|---|---|
1/Oct/2023 | Joe | ベルリン |
例3:
履歴を維持するには、変更バッチに新しいレコードを含める必要があります:
開始日 | 名前 | 都市 |
---|---|---|
1/Oct/2023 | Joe | ベルリン |
2/Oct/2023 | Joe | ニューヨーク |
2023/10/3 | Joe | ロンドン |
これにより、履歴もストレージに確実に保持されます。
開始日 | 名前 | 都市 |
---|---|---|
1/Oct/2023 | Joe | ベルリン |
2/Oct/2023 | Joe | ニューヨーク |
2023/10/3 | Joe | ロンドン |
考慮事項
-
Stitch レプリケーションでは、履歴オプションを使用しないでください。オプションを使用して、履歴データを Qlik Talend Data Integration に保存します。
データ容量に関する考慮事項
-
登録されたテーブルに主キーがない場合、実行のたびにフル リロードが実行されます。これは、毎月の登録済みデータ容量クォータにカウントされます。ストレージが変更を見つけるために、すべてのレコードを比較する必要があるためです。
-
登録済みデータのデータ容量は、ストレージにカウントされます。つまり、登録済みデータの削除は、ストレージの挿入または更新 (論理的な削除) に変換され、データ容量にカウントされます。
-
登録済みデータのテーブルが 2 つのストレージ データ タスクで使用されている場合、論理的な削除、挿入、更新は、データ容量に対して 2 回カウントされます。