# データ パイプラインのエクスポートとインポート

データ プロジェクトを再構築するために必要なすべてを含め、データ パイプラインをファイルにエクスポートできます。エクスポートされたファイルは、同じテナントにも別のテナントにもインポートできます。例えば、これを使って、プロジェクトを別のテナントに移動することや、プロジェクトのバックアップ コピーを作成することができます。エクスポート ファイルからプロジェクトを更新することもできます。

情報メモ

エクスポートファイルの形式が、複数の JSON ファイルを含む ZIP ファイルから、複数の YAML ファイルを含む ZIP ファイルに変更されました。

JSON Zip アーカイブは、&lt;date, 2027&gt; までの移行期間中、レガシーとしてサポートされます。

新しい形式を使用するには、既存のプロジェクトを [最小] または [すべて] のオプションでエクスポートしてください。

## データ プロジェクトのエクスポート

プロジェクトをエクスポートするには、プロジェクトが存在するスペースで次のロールの少なくとも 1 つが必要です。

* 編集可能

* 閲覧可能

* 操作可能

プロジェクトをエクスポートするには:

1. [データ統合] &gt; [パイプライン プロジェクト] で、データ プロジェクトの the More icon をクリックして、 [エクスポート] を選択します。

   プロジェクトを開き、右上の the More icon をクリックして、 [エクスポート] を選択することもできます。

2. エクスポート形式を選択する:

   * 最小 (既定) - 必要な設定および変更された設定のみをエクスポートします。バージョン管理およびコードファーストのワークフローに推奨されます。

   * フル - 既定を含むすべての設定をエクスポートします。完全な設定内容を確認する場合や、トラブルシューティングを行う場合に使用します。

   * レガシー - 従来の JSON 形式でエクスポートします。YAML を処理できないシステムとの統合にのみ、これを使用します。

プロジェクトは ZIP ファイルにエクスポートされ、ファイル名にはプロジェクト名、データ プラットフォーム、日付と時刻が含まれます。

警告メモレガシー JSON エクスポートは編集しないでください。JSON ファイルを直接編集すると、プロジェクトをインポートできなくなる可能性があります。パイプライン構成を編集する場合は、代わりにプロジェクトを [最小化] または [フル] の YAML 形式でエクスポートしてください。詳細については、「[パイプライン設定の取得と編集](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Retrieving-editing-pipeline-configuration.htm)」を参照してください。

## プロジェクトをインポート

このセクションでは、プロジェクトのインポートについて説明します。クラウド データ ウェアハウス プロジェクトまたは Qlik Cloud (Amazon S3 経由) プロジェクトをインポートできます。

ヒント メモバージョン管理を使用している場合、バージョン管理からプロジェクトをインポートできます。詳細は、[バージョン管理からプロジェクトをインポートする](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/VersionControl/Project-version-control.htm#Importin)をご覧ください。

次の制限付きで、使用するデータ プラットフォームを変更できます。

* データ プラットフォームをクラウド データ ウェアハウスから Qlik Cloud に変更することや、その逆はできません。

* ランディングページを使用してクラウド ファイル ストレージに保存されている Snowflake プロジェクトを別のデータ プラットフォームに変更することや、その逆はできません。

### プロジェクトをインポートする前に

プロジェクトのインポートを開始する前に、次の点を考慮してください。

* 新しいテナントまたはスペースにインポートする場合に必要な、すべての新しい接続を作成します。

* プロジェクトがまだ存在しない SaaS アプリケーション接続を使用する場合は、インポートを開始する前に接続を作成し、メタデータを生成する必要があります。

* プロジェクト間パイプラインをインポートする場合は、最初にアップストリームのプロジェクトをインポートする必要があります。

### クラウド データ ウェアハウス プロジェクトのインポート

情報メモこのセクションでは、データ プラットフォームとしてクラウド データ ウェアハウスを使用したプロジェクトのインポートについて説明します。データ プラットフォームとして Qlik Cloud (Amazon S3 経由) を使用したプロジェクトのインポートについては、「[データ プラットフォームとして Qlik Cloud を使用したプロジェクトのインポート](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-export-import.htm#Importin)」を参照してください。

エクスポートされたクラウド データ ウェアハウス プロジェクトは、エクスポート元の同じテナントにも別のテナントにもインポート できます。プロジェクトを元のデータ プロジェクトのテナント以外のテナントにインポートする場合は、プロジェクト、ステージング エリア、すべてのデータ ソースに対して新しい接続を定義する必要があります。

プロジェクトが他のプロジェクトのタスクを使用する場合、スペースとプロジェクトの名前が同一でない限り、プロジェクトとタスクをマッピングする必要があります。

1. [データ統合] &gt; [パイプライン プロジェクト] で、 [新規作成] をクリックし、 [プロジェクトをインポート] を選択します。

2. エクスポート ファイルを追加します。ダイアログにドロップすることも、参照してファイルを選択することもできます。

   [Next] (次へ)をクリックします。

3. 新しいプロジェクトの [プロジェクトのプロパティ] を設定します。

   [スペース] でプロジェクトを追加するスペースを選択する必要があります。

   [データ プラットフォーム] では、プロジェクトのデータ プラットフォームと、データ プラットフォームへの接続を変更できます。

   別のテナントからプロジェクトをインポートした場合、または前の手順でデータ プラットフォームを変更した場合は、 [接続] を変更する必要があります。

   ステージング エリアへの接続を変更できます。これは、プロジェクトを別のテナントからインポートした場合に必要であり、前のステップでデータ プラットフォームを変更した場合にも必要となることがあります。

   [Next] (次へ)をクリックします。

4. 新しいプロジェクトの [既定のプロジェクト設定] を設定します。

   [すべてのスキーマのプレフィックス] で、プロジェクトで作成されたデータ スキーマにプレフィックスを追加できます。これは、インポートしたプロジェクトがエクスポートしたプロジェクトと同じクラウド データ ウェアハウスにある場合に便利です。

   [データベース名] に既定の名前を設定することもできます。Snowflake プロジェクトの場合は既定の [データ ウェアハウス名] を設定でき、Databricks プロジェクトの場合は既定の [カタログ名] を設定できます。すべてのタスク タイプにプロジェクトの既定の名前を使用することも、タスク タイプごとに既定の名前またはカスタム名を設定することもできます。

   [Next] (次へ)をクリックします。

5. [接続とタスク設定] を設定します。

   インポートされたソース接続やクロスプロジェク トソースを、同じコネクタを使用する接続に置き換えることができます。たとえば、インポートされたソース接続が MySQL の場合、置換接続も MySQL である必要があります。これは、プロジェクトを別のテナントからインポートした場合に必要です。

   [タスク設定 (オプション)] では、元のプロジェクトから上書きするタスク設定を変更することもできます。

6. 準備ができたら、 [インポート] をクリックします。

プロジェクトが データ統合 ホームに追加されます。

### データ プラットフォームとして Qlik Cloud を使用したプロジェクトのインポート

エクスポートされた Qlik Cloud (Amazon S3 経由) プロジェクトは、エクスポート元の同じテナントにも別のテナントにもインポートできます。プロジェクトを元のデータ プロジェクトのテナント以外のテナントにインポートする場合は、プロジェクト、ステージング エリア、すべてのデータ ソースに対して新しい接続を定義する必要があります。

データ プラットフォームを Qlik Cloud から Snowflake などのクラウド データ ウェアハウスに変更することはできません。

1. [データ統合] &gt; [パイプライン プロジェクト] で、 [新規作成] をクリックし、 [プロジェクトをインポート] を選択します。

2. エクスポート ファイルを追加します。ダイアログにドロップすることも、参照してファイルを選択することもできます。

   [Next] (次へ)をクリックします。

3. [Name] (名前)

   プロジェクトの名前を変更します。デフォルトの名前は、元のプロジェクト名に Imported\_ がプレフィックスとして付きます。

4. スペース   
   プロジェクトを追加するスペースを選択します。

5. [Description] (説明)   
   プロジェクトの説明を追加または編集します。

6. QVD ファイルを次の場所に保存します:

   QVD ファイルの生成場所を選択します。

   * Qlik 管理ストレージ

   * 顧客管理ストレージ

     自分で管理している Amazon S3 ストレージ。

7. データ接続

   [顧客が管理するストレージ] を選択すると、接続を Amazon S3 ストレージ エリアに変更できます。

   これは、プロジェクトを別のテナントからインポートした場合に必要です。

8. ステージング エリアへの接続

   Amazon S3 ステージング エリアへの接続を変更できます。

   これは、プロジェクトを別のテナントからインポートした場合に必要であり、前のステップでデータ プラットフォームを変更した場合にも必要となることがあります。

9. [Next] (次へ)をクリックします。

10. 元のバージョンで追加されたタスクに接続を設定   
    インポートされたソース接続を、同じコネクタを使用する接続に置き換えることができます。たとえば、インポートされたソース接続が MySQL の場合、置換接続も MySQL である必要があります。

    これは、プロジェクトを別のテナントからインポートした場合に必要です。

11. [タスク設定 (オプション)] では、元のプロジェクトから上書きするタスク設定を変更できます。

12. 準備ができたら、 [インポート] をクリックします。

プロジェクトが データ統合 ホームに追加されます。

## プロジェクトの更新

エクスポート ファイルからプロジェクトを更新できます。これにより、データ パイプラインのすべてのタスクが置き換えられますが、接続と設定は置き換えられません。インポートされたプロジェクトに含まれていないデータ タスクは削除されます。

例えば、開発データ スペースからエクスポートされたプロジェクトを実稼働データ スペースのプロジェクトにインポートして、実稼働プロジェクトを更新できます。

プロジェクトの更新を開始する前に、次を実行します。

* 更新する前にプロジェクトのバックアップが必要な場合は、[the エクスポート icon]、[] の順にクリックしてエクスポートします。

* プロジェクトを更新する前に、データ パイプラインから削除されるすべてのタスクを停止する必要があります。

* プロジェクトがまだ存在しない SaaS アプリケーション接続を使用する場合は、インポートを開始する前に接続を作成し、メタデータを生成する必要があります。

* インポートされたプロジェクトが同じクラウド データ プラットフォーム (Snowflake など) を使用していることを確認してください。

プロジェクトを更新するには、次を実行します。

1. 更新するプロジェクトを開きます。

2. [the インポート icon]、[] の順にクリックします。

3. インポートするファイルを選択またはドロップします。

4. データ プロジェクトとインポートされたデータ プロジェクトの間で異なるマッピング接続に、必要な変更を加えます。

   例えば、インポートされたプロジェクトは SQL1 という名前のソース接続を使用しており、プロジェクトは SQL2 という名前の同様の接続を使用している場合などがあります。この場合、インポートした接続を、元のバージョンで追加されたタスクのセット接続の SQL2 にマップします。

   情報メモマップする接続を選択するときは、新しいデータベース接続を作成できますが、SaaS アプリケーション接続は作成できません。

   準備ができたら、[インポート] をクリックします。

インポートされたファイルに従って、データ プロジェクトが更新されます。インポートによって更新されたデータ タスクの検証および同期が必要になる場合があります。

## ベスト プラクティス

プロジェクトをインポートおよびエクスポートする際の一般的なベストプラクティスをいくつかご紹介します。

* 同じデータセットを 2 つのプロジェクトに追加したり、一方のプロジェクトをもう一方のプロジェクトにインポートしたりすることは避けてください。これにより、解決が困難な競合が発生し、データセットの再作成が必要になる可能性があります。

  情報メモデータセットがタスクに追加されると、内部識別子が割り当てられます。内部識別子は、パイプラインでのシームレスな名前変更やその他のメタデータ操作を可能にするために使用されます。別のプロジェクトまたはブランチで同じデータセットを作成すると、内部識別子が異なるため、あるプロジェクトを別のプロジェクトにインポートする際に競合が発生します。これにより、準備プロセスは、同じ名前であってもデータセットを削除して再作成する可能性があります。

## 制限事項

* パイプラインをエクスポートするときには通知は含まれません。インポートされたパイプラインに新しい通知を設定する必要があります。

* 保存された SQL ワークベンチのスクリプトは、プロジェクトをエクスポートしても含まれません。

  プロジェクトを新規プロジェクトとしてインポートする場合、保存された SQL ワークベンチのスクリプトは空になります。

  既存のプロジェクトを更新するためにインポートする場合、既存の保存された SQL ワークベンチのスクリプトは変更されません。

* インポート用の zip ファイルには、プロジェクトファイルがネストされたサブフォルダー内ではなく、直接含まれている必要があります。

  macOS で zip ファイルを作成する際、フォルダーをクリックして zip 化を選択すると、zip ファイルにはファイルを格納するネストされたサブフォルダーが含まれるため、その zip ファイルをインポートすることはできません。

* 次のシナリオでは、解決が困難な競合が発生する可能性があります。

  1. 2 つのプロジェクトで同じデータセットに変更を加えます。

  2. プロジェクト 1 をエクスポートします。

  3. プロジェクト 1 をプロジェクト 2 にインポートします。

* プロジェクト間でループや相互依存関係を作成するパイプラインを設計しないでください。このようなプロジェクトのエクスポートとインポートはサポートされていません。

* 登録済みデータとストレージ タスクを含む古いプロジェクト (JSON サポートが導入される前) をインポートすると、ソース上の JSON フィールドは BLOB にマッピングされました。ネイティブ型は、登録済みデータ上で保持されていました。例えば、Snowflake のバリアントなどです。JSON サポートが追加された後にインポートすると、論理型が JSON に変更される場合があります。

* ナレッジ マート タスクは、同じデータ プラットフォーム タイプを使用するプロジェクト間でのみエクスポートおよびインポートできます。ナレッジ マート タスクを含むプロジェクトを Snowflake からエクスポートして Databricks にインポートすること、または Databricks からエクスポートして Snowflake にインポートすることはサポートされていません。