Delta Live Tables frequently asked questions | Databricks on AWS [2022/12/1時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
別のクラスター、SQLエンドポイントからパイプラインのビューにクエリーを実行することはできますか?
いいえ、現在はビューは同じパイプラインの他のテーブルからしかアクセスできません。
Delta Live TablesはDeltaテーブルのアップデートのみをサポートしていますか?
はい、Delta Live TablesはDeltaテーブルの更新のみに使用できます。
Delta Live Tablesは私のテーブルに対するメンテナンスタスクを実行していますか?
はい、Delta Live Tablesは24時間周期でテーブルに対するメンテナンスタスクを実行します。メテナンスによって、クエリーの性能を改善し、テーブルの古いバージョンを削除することでコストを削減します。デフォルトでは、システムはVACUUMに続いて、完全なOPTIMIZEオペレーションを実行します。テーブルのテーブルプロパティであるpipelines.autoOptimize.managed = false
を設定することでOPTIMIZEを無効化することができます。メンテナンスタスクがスケジュールされる24時間前にパイプラインのアップデートが実行された場合にのみ、メンテナンスタスクが実行されます。
メンテナンス用クラスターが必要なストレージロケーションへのアクセス権を有していること確実にするために、デフォルトクラスターとメンテナンス用クラスターの両方に対して、ストレージロケーションへのアクセスに必要なセキュリティ設定を行う必要があります。Cluster configurationをご覧ください。
テーブルの過去のスナップショットに対してクエリーを実行することができますか?
デフォルトでは、Delta Live Tablesパイプラインによって作成されたDeltaテーブルは、7日間履歴を保持しますので、テーブルのスナップショットに対してクエリーを実行することができます。7日以上の履歴が必要であれば、テーブルプロパティを変更することで、保持期間を変更することができます。
同じターゲットテーブルに対して書き込みを行う複数のクエリーを一つのパイプラインに含めることはできますか?
いいえ、それぞれのテーブルは一度で定義される必要があります。テーブルを作成するのに複数の入力を組み合わせる必要がある場合には、UNIONを使うことができます。インクリメンタルテーブルに対するUNIONの追加、削除は、フルリフレッシュを必要とする破壊的オペレーションとなります。
Delta Live TablesのパイプラインでScalaやJavaのライブラリを使うことができますか?
いいえ、Delta Live TablesではSQLとPythonのみをサポートしています。パイプラインでJVMライブラリを使うことはできません。JVMライブラリのインストールによって、予期しない挙動を引き起こし、将来的なDelta Live Tablesリリースを損なう場合があります。
SQLでライブテーブルを作成する際にどのようにアイデンティティ列を使用しますか?
標準的なCREATE TABLE構文と同じ様にCREATE LIVE TABLE
文のスキーマ定義でアイデンティティ列を指定することができます。しかし、STREAMING
として定義されていないライブテーブルにおいては、それぞれのリフレッシュでテーブルが完全に再生成され、それぞれの行に対して新たなID値の割り当てを行うことになります。
アイデンティティ列はAPPLY CHANGESテーブルではサポートされていません。