0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Databricksにてメタデータ管理(DDL)を実施する上での管理対象項目の検討

Last updated at Posted at 2021-06-14

概要

Databricksのメタデータ管理を実施する上での管理対象項目の検討するために、項目を洗い出しました。
検討中であるため、修正予定です。

管理対象の項目

データベースの定義

  • 基本情報
    • 名称
    • 規定ディレクトリ
    • ディスクリプション(コメント)
    • その他プロパティ

テーブル定義

  • 通常のテーブル情報

    • 基本情報
      • 物理列
      • カラムの位置
      • カラム名
      • カラムのデータ型
      • カラムのディスクリプション(コメント)
        • 配列にすることで、日本語列名?
      • テーブル分類
        • グローバルテーブル
        • ビュー
        • 一時ビュー
        • グローバル一時ビュー
        • Delta liveテーブル
        • Delta liveビュー
      • 計算列(生成列)
        • カラム名
        • 計算ロジック
    • パーティション列
    • ロケーション
    • テーブルディスクリプション(コメント)
    • テーブルへの権限付与
      • 行レベルセキュリティ
        • ルールベースによる行レベルセキュリティ
        • データ権限(認可)テーブルを利用した行レベルセキュリティ
      • 列レベルセキュリティ
        • 列への参照権限付与による列レベルセキュリティ
        • マスキング
          • 永続データマスキングによる列レベルセキュリティ
          • 動的データマスキングによる列レベルセキュリティ
    • テーブルプロパティ
      • 共通
        • 統計情報
        • 統計情報を取得対象のカラム dataSkippingNumIndexedCols = -1(テーブルごとに設計)
        • 制約
          • NULL制約
          • Check制約
        • タイムトラベル関連
          • ログ保持期間 delta.logRetentionDuration = "interval 30 days"
          • データの保持期間 delta.deletedFileRetentionDuration = "interval 7 days"
        • 変更データフィード
          • 変更データフィードの有効化 delta.enableChangeDataFeed = true
        • 外部システムからdelta lake参照時に利用するマニフェストファイルへの対応
          • マニフェストファイルの自動更新 delta.compatibility.symlinkFormatManifest.enabled=true
        • カスタマイズプロパティ
          • 日本語のテーブル名 'table_name_ja-jp' = 'テスト'
      • バッチ処理対象のテーブル
        • 共通
          • 最適化された書き込み delta.autoOptimize.optimizeWrite = true
          • 自動圧縮 delta.autoOptimize.autoCompact = true
        • 7.2以前のクラスターで参照しない場合
          • delta.checkpoint.writeStatsAsJson = false
      • ストリーミング処理対象のテーブル
        • 数分の許容ができる場合
          • 'delta.checkpoint.writeStatsAsStruct' = 'true'
    • ブルームフィルター
    • 集計ロジック
      • CTASのテーブル
        • SQL文
      • Delta liveテーブル・Delta liveビュー
        • SQL文 or Sparkデータフレーム操作
  • Feature Storeのテーブル情報

    • テーブル名
    • 処理ロジックを含むスキーマ
    • 主キー
    • ディスクリプション
    • パーティション列

関数の定義

検討中

  • データソースのインターフェースファイル
    • テーブルプロパティにいれる?
  • データ取得元
    • テーブル定義
      • テーブルプロパティにいれる?
    • カラム定義
      • テーブルのコメントに、配列でいれる?
  • データ取得に利用しているコード
    • テーブルプロパティにいれる?

対象外

  • 共通
    • タイムゾーン spark.sql.session.timeZone
      • クラスターごと
      • セッション
  • 書き込み時のプロパティ
    • バッチ処理対象のテーブル
      • スキーマの展開 mergeschema = true
    • ストリーミング処理対象のテーブル
      • パーティション数をコア数と同値に spark.sql.shuffle.partitions", sc.defaultParallelism
      • 同時処理するファイル数 maxFilesPerTrigger
      • チェックポイントファイルのパス checkpointLocation
      • RocksDB 状態ストアの構成 "spark.sql.streaming.stateStore.providerClass",
        "com.databricks.sql.streaming.state.RocksDBStateStoreProvider"
  • 書き込み後の対応
    • Delta Lakeの場合
      • Optimize
        • Z-Ordering
      • Vacuum
        • データの削除
    • Parquetの場合
      • MSCK REPAIR TABLE

参考リンク

更新履歴

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?