
ふつうのデータ基盤移行 - Part 4. AI ワークフローで移行作業効率化編
このポストについて データ基盤移行について書いていくシリーズです。 シリーズ一覧はこちらから。 前回 Part 3. アーキテクチャ編ではどういったシステム構成にしたかを書きました。 今回はその技術スタックへと移行するための苦労と効率化について書きます。 (次は CI/CD の話をすると書きましたが…スマンありゃウソだった) スコープ 今回はやや小さいスコープの話です。 データ基盤における ETL (ELT) 処理の移行作業を対象としています。 移行作業における工数的な課題を AI ワークフローを作って効率化して軽減したという話になります。 ETL 以外の移行作業は今回はスコープ外となります。 課題 旧データ基盤から新データ基盤へと table およびそれを更新するための処理を移行するにあたり工数面での課題が2つあります。 技術スタックの移行 column 命名などの標準化 これらについて述べます。 技術スタックの移行 データ基盤の移行において、新旧の環境で技術スタックは次のようになっています。 旧データ基盤 ETL: Glue Job 新データ基盤 ELT: dbt-databricks つまり Glue Job の Python コードを dbt model、つまり SQL に翻訳する必要があり、それなりに手間がかかります。 さらにこの Python コードは次のような問題もあり、移行のハードルを上げます。 UDF を実装して特殊な処理を行っているケースがある Spark の API だけでなく Glue の API をふんだんに使っている (なるべく Spark に寄せればいいものを…) (ここ数年の業務で見た中で一番というぐらいに) コード品質が低い column 命名などの標準化 旧データ基盤は利用者への配慮があまりない状態で table の schema が作られており、利用者にとって使いにくいものとなっていました。 それを改善するため、新データ基盤では次のようなルールを導入しました。 ...