数億行のシーケンシャル ファイル (CSV) 出力を正常に生成するジョブがあります。出力が 100 の個別のシーケンシャル ファイルに書き込まれ、それぞれが 100 万行である例を誰かが提供できますか?
シーケンシャル ファイル ステージはどのようなもので、どのように構成されていますか?
これは最終的に、大きなテキスト ファイルを表示できる特別なテキスト エディターがなくても、QA が個々の出力のいずれかを確認できるようにするためです。
数億行のシーケンシャル ファイル (CSV) 出力を正常に生成するジョブがあります。出力が 100 の個別のシーケンシャル ファイルに書き込まれ、それぞれが 100 万行である例を誰かが提供できますか?
シーケンシャル ファイル ステージはどのようなもので、どのように構成されていますか?
これは最終的に、大きなテキスト ファイルを表示できる特別なテキスト エディターがなくても、QA が個々の出力のいずれかを確認できるようにするためです。
@Mr. からの提案に基づいています。Llama と今後の解決策がないことから、スケジュールされた DataStage イベントの最後に単純なスクリプトを実行することにしました。
#!/bin/bash
# usage:
# sh ./[script] [input]
# check for input:
if [ ! $# == 1 ]; then
echo "No input file provided."
exit
fi
# directory for output:
mkdir split
# header without content:
head -n 1 $1 > header.csv
# content without header:
tail +2 $1 > content.csv
# split content into 100000 record files:
split -l 100000 content.csv split/data_
# loop through the new split files, adding the header
# and a '.csv' extension:
for f in split/*; do cat header.csv $f > $f.csv; rm $f; done;
# remove the temporary files:
rm header.csv
rm content.csv
粗雑ですが、この場合はうまくいきます。