列数が異なり、スペースで区切られた 30,000 以上のテキスト ファイルがあり、タスクはデータを列単位で 1 つの大きなオラクル テーブルにロードすることです。詳細と可能なアプローチは以下のとおりです。
テキストファイル 1-
Date Time SiteName CompName ipAdd
jkl mno pqr stu vwx
テキストファイル 2-
Date CompName ipAdd
abc def ghi
テキストファイル 3-
Date SiteName
mno pqr
予想される Oracle テーブル -
Date Time SiteName CompName ipAdd
jkl mno pqr stu vwx
abc def ghi
mno pqr
ご覧のとおり、複数のテキスト ファイルにまたがる「同じ」列の数が異なります。そして、データを 1 つの大きなオラクル テーブルにロードする必要があります。
ご注意ください:
すべてのテキスト ファイルで、最初の列は常に 'Date' であり、列は順番に発生します。つまり、Date から Time..または Date から CompName... (Date から昇順)。
問題は、テキスト ファイルの 1 行目に名前が含まれている場合でも、2 つの異なるテキスト ファイルの 2 つの列と 15 列を区別できるように SQL Loader を使用する方法を見つけられなかったことです。それらを大きなテーブルに。
アプローチ:
- すべてのテキスト ファイルを 1 つの大きなテキスト ファイルに結合し、何かを行う - 失敗
- すべてのテキスト ファイル (25 列) の最大列数に区切り記号を付けようとしましたが、何かを実行できませんでした - できませんでした
- 35,000 以上のテキスト ファイルを 35,000 以上のオラクル テーブルにロードし、これらの 35,000 以上のオラクル テーブルを 1 つの大きなテーブルに結合します - 私の周りの PPL によって推奨されましたが、スペースと時間/労力が非効率だったので、本当の代替手段を探します
最善の方法を教えてください。:-(