使用DataStage进行文件拆分(8.5)

时间:2014-06-17 14:17:47

标签: datastage large-data

我有一份成功生成包含数亿行的顺序文件(CSV)输出的作业,有人可以提供一个示例,其中输出被写入一百个单独的顺序文件,每个文件有一百万行吗?

顺序文件阶段是什么样的,如何配置?

这是为了最终允许QA审查任何一个单独的输出,而无需可以查看大文本文件的特殊文本编辑器。

1 个答案:

答案 0 :(得分:1)

基于@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

原油,但在这种情况下适用于我们。