GCS バケット#
バケットのパス、書き込み先スキーマ、ファイルオプションを指定して GCS バケットを接続します。このソースは JSON、CSV、Parquet ファイルから検出したテーブルを titan.{schema_name} に書き込みます。
GCS バケットを接続する#
アプリを開き、アプリを接続を選択してから、GCS バケットを選択します。
バケットのパス、書き込み先スキーマ、ファイルオプションを入力します。
テーブルを確認してからソースを保存します。
初回の実行が完了するまで同期履歴を確認します。
認証情報はシークレットとして保存されます。レイクの列になったり、クエリ結果に表示されたりすることはありません。
同期の動作#
検出したファイルのグループごとにテーブルが作成されます。ID 列と区切り文字を選び、必要に応じてファイルの glob パターンとパーティションの並べ替え列を指定します。圧縮ファイルの拡張子がその形式の標準と異なる場合は、**/*.gz などのカスタム glob パターンを使ってください。秒単位でパーティション分割したソースでは、増分同期時にカーソルの直前のパーティションも再確認します。この範囲を限定した重複読み取りにより、生成側が辞書順で次のパーティションを開いた後に到着したオブジェクトも取得できます。設定した ID 列が安定していれば、行の処理は冪等性を保ちます。
新しいソースは接続時に同期し、その後はスケジュールに従います。デフォルトの繰り返し間隔は 4 時間です。実行が中断しても、完了した進捗を保持して安全に再試行します。
すべてのレイクのテーブルにはシステム列 _synced_at と _deleted もあります。以下の列リファレンスにはソースの列のみを記載しています。
テーブルリファレンス#
Supernova は接続したアカウントからこのリファレンスの情報を検出します。設定したバケットのプレフィックスからヘッダーとサンプルを読み取るため、列リファレンスはそのファイルの内容によって決まります。
初回の検出が完了したら、アプリ → GCS バケット → テーブルを開き、すべての正確なテーブル名、列名、型、同期対象を確認します。アカウントを接続するまでは、動的なフィールドを正確に一覧化できません。
削除と履歴#
行はソースのキーでマージされます。ソース側で行の削除を確認できた場合、Supernova は行を残して _deleted を設定します。クエリで履歴を含めるかどうかを選べます。現在の状態だけを取得するには where not _deleted で絞り込んでください。