0

Oracle データベースにデータベース スキーマがあります。サードパーティ ベンダーからのデータ ダンプもあります。Linux マシンで SQL ローダー スクリプトを使用してデータをロードします。

また、毎日バッチ更新も行っています。

データにデータ エラーがないことを前提としています。たとえば、最初の日にデータ「A」がデータベースに挿入され、データ「A」がそれ以降の読み込みで発生しない場合 (仮定)。「A」という名前のデータを取得すると、主キー違反が発生します。

質問: これらの違反を回避するには、データ エラーを分析するアナライザーを構築する必要がありますか、それともより良い解決策がありますか。

4

1 に答える 1

2

私は、基幹業務トランザクション データを含むフラット ファイルを毎日フィードする会社の ETL システムを構築しました。データは文書化されたスキーマに従うことになっていましたが、実際には、日々、ファイルごとにさまざまな種類の違反がありました。

必要以上に大きな varchar を持つすべての null 許容列を含む SQL ステージング テーブルを構築し、効率的なバルク ロード ユーティリティを使用してこれらのステージング テーブルにフラット ファイル データをロードしました。次に、データベースのコンテキスト内で一連のデータ整合性チェックを実行して、生の (ステージングされた) データを適切な運用テーブルにクロスロードできることを確認しました。

すべての編集が完了するまで、ステージング テーブル環境からは何も得られませんでした。

フラット ファイルをステージング テーブルにロードする利点は、RDBMS を利用して一連のアクションを実行し、新しい値と以前のファイルの既存の値を簡単に比較できることです。すべて、特別なフラット ファイル処理コードを作成する必要はありません。

于 2012-11-05T01:25:18.530 に答える