私は、あらゆる種類のデータ ソース (SQL MySQL、Filemaker、Excel) からデータを取得してから、10 年間のレコード ベースを持つ新しいデータベース構造にインストールする開発を管理するプロジェクトです。明らかに、エクスポートする前にこれらすべてをクリーンアップする必要があります。このプロセスを簡素化できるアプリや、従うことができるガイドがあるかどうか疑問に思っています.
どんな助けでも素晴らしいでしょう
ツールについてはわかりませんが、次のことに対処する必要があります。
生成されたキーの同期
データ形式の同期/正規化 (例: 異なる日付形式)
レコード構造の同期。
孤立した記録
このプロセスの開発中またはデータの移動中にデータが実行中または更新中の場合は、更新をキャプチャする必要もあります。過去にこの種のことをしなければならなかったとき、私が持っていた最良の答えは、複数の反復で実行される一連のスクリプトを開発することでした。データの。目的のデータベースをクリーンアップ/再構築できるスクリプト (スキーマと ant スクリプトを使用しましたが、何でもかまいません) があると便利です。また、ダーティ/ミスマッチ データを記録する何らかの方法が必要になる可能性もあります。
私は主に Microsoft SQL Server を使用しているため、私の専門知識はそこにありますが、SSIS は非常に多種多様なデータ ソースに接続でき、ETL 作業に非常に適しています。データ ソースが実際には MS SQL Server でない場合でも使用できます。とはいえ、MS SQL Server を使用していない場合は、これに適したものがおそらくあるでしょう。
本当に良い答えを提供するには、データ ソースと変換先の完全なリスト、および変換を実行するための要件と共に完了する必要がある特別なタスクが必要です (1 回限りの変換かまたは、それをスケジュールできるようにする必要がありますか?)
同様の状況で、私は個人的に Emacs と Python が非常に役立つことを発見しましたが、優れた検索機能と強力な文字列操作機能を備えた言語を備えた任意のテキスト エディターが機能するはずです。最初にデータをフラット テキスト ファイルに変換してから、
明らかに、この種の方法は一度に 1 つのテーブルに集中する傾向があるため、データをリレーショナル データベースにアップロードした後に行われるチェックを補完するだけです。
これに関して私にとって役立つトリックの 1 つは、データ ソースの種類ごとに、単一の列と一意の識別子を一度にタブ区切り形式で出力する方法を見つけることです。これにより、テキスト ツールを使用してクリーンアップできます ( sed、awk、またはTextMateのgrep検索)、それを再インポート/元のソース(のコピー!)を更新します。
その後、複数のソース間でツールを再利用できるため、複数のソースをクリーンアップするのがはるかに迅速になります (たとえば、ラストネームの大文字化 - マッケイ、オレアリー オニール、ダ シルバ、フォン ブラウンなど)、日付形式の修正、空白のトリミング)、プロセスをある程度自動化します(ソースによって異なります)。