# レイクハウスへのデータのランディング

Snowflake データ レイクハウスにデータをランディングできます。これには、データ ソースからデータ プラットフォームによって管理されるクラウド ファイル ストレージへのデータの転送が含まれます。

レイクハウスへのデータのランディングは、通常のデータウェアハウスへのランディングと比較して、データのランディング中にウェアハウスを使用するコストがかかりません。そのため、高い頻度でランディングすることや、必要に応じて低い頻度で消費することができます。他のプラットフォームとデータをより簡単に共有できるようになる可能性もあります。Iceberg テーブルを Snowflake Open Catalog と同期することで、Apache Spark などの他のツールとの相互運用が可能になります。

レイクハウスへのデータのランディングは、データ プラットフォームとして Snowflake を使用するプロジェクトでのみ利用できます。

## 準備

* Iceberg テーブルを Snowflake Open Catalog と同期する場合は、Snowflake インスタンスでカタログ統合を設定する必要があります。タスクを作成するときに、この統合の名前が必要になります。詳細については、「[CREATE CATALOG INTEGRATION (Snowflake オープン カタログ)](https://docs.snowflake.com/en/sql-reference/sql/create-catalog-integration-open-catalog)」を参照してください。

* タスク設定ウィザードでソースとターゲットの接続設定を構成できますが、設定手順を簡略化するために、タスクを作成する前に実行しておくことをお勧めします。

## レイク ランディング タスクの作成

1. プロジェクトを作成し、 [ユース ケース] で [データ パイプライン] を選択します。

2. [データ プラットフォーム] で [Snowflake] を選択し、データ ウェアハウスへの接続を設定します。

   Snowflake ターゲットの設定については、「[Snowflake](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/snowflake-target.htm)」を参照してください。

3. [ランディング ターゲット] で [クラウド ストレージ] を選択します。

4. [クラウド ストレージ接続] にステージング エリアを設定します。

   次のタイプの接続を使用できます。

   * [Amazon S3](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/aws-s3-target.htm)

   * [Azure Data Lake Storage](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/adls-target.htm)

   * [Google Cloud Storage](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/google-storage-target.htm)

5. [Snowflake ストレージ統合] の名前を設定します。詳細については、選択したストレージ エリアの Snowflake ドキュメントを参照してください。

6. ストレージ、変換、データ マート タスクに対して、既定で作成するテーブル タイプを選択します。この設定は、後でプロジェクト設定から変更できます。プロジェクトの個々のタスクごとにテーブル タイプを設定することもできます。

   * Snowflake テーブル

   * Snowflake 管理の Iceberg テーブル

     このケースでは、 [既定の外部ボリューム] に外部ボリュームの既定の名前を設定する必要があります。

     情報メモIceberg テーブルは、スキーマ、データベース、またはアカウント レベルで設定されたストレージ シリアル化ポリシーを継承します。これは、Snowflake を介してテーブルを直接読み取る他の製品との相互運用性に影響を与える可能性があります。

7. [Create] (作成)をクリックしてプロジェクトを作成します。

プロジェクトでデータをオンボードするか、ランディング タスクを作成すると、ランディング タスクではなくレイク ランディング タスクが作成されます。レイク ランディング タスクは、データをクラウド ストレージにランディングするという点を除けば、ランディング タスクとほぼ同じように動作および機能します。詳細については、「[データ ソースからのランディング データ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm)」を参照してください。

すべてのファイルは CSV 形式でランディングされます。ランディング タスクを消費するストレージ タスクは、ランディング データが更新された後に外部テーブルが更新されるようにします。

## タスクを削除する

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

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

タスクによって作成されたアーティファクト (ファイル) は削除されません。

## タスク情報の表示

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

* 所有者

* スペース

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

* プロジェクトID

* データ タスク実行 ID

## 設定

タスク設定の詳細については、「[レイク ランディングの設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Lake-Landing-settings.htm)」を参照してください。

## 制限事項

* テーブル パスは作成後に変更することはできません。これにはテーブルの名前の変更が含まれます。

* ランディング テーブルが外部テーブルとして使用されている場合、ストレージ ライブ ビューは無効になります。

* Snowflake Open Catalog を使用してテーブルを同期する場合、データ タスク スキーマで生成されたビューではなく、内部スキーマ テーブルが同期されます。この制限は、将来解除される可能性があります。内部スキーマ テーブルの詳細については、「[テーブル](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#Tables)」を参照してください。

* CLOB および BLOB 型のソース列は、ソースで NULL 不可としてマークされている場合でも、既定で NULL 可能として設定されます。これを null 非許容に変更することもできますが、ソースから null として到着した場合に備えて、null 以外の値を追加する数式を追加する必要があります。これは削除されたレコードで発生する可能性があります。