[Talend]tFileRowCountを利用してファイルの行数を調べる
はじめに
こんにちは。DI部の大高です。
今回はTalendのコンポーネント「tFileRowCount」を利用したファイルの行数を調べる方法を紹介したいと思います。
前提条件
Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」で検証しています。
tFileRowCountについて
「tFileRowCount」を利用するとファイルの行数を調べることができます。
「tFileRowCount」コンポーネントのTalend Helpページはこちらです。
では、具体的に以下で解説していきます。
ジョブの説明
ジョブとしては「tFileRowCount」でファイルの行数を取得し、「tJava」で標準出力に結果を出力しています。
サンプルファイル
今回はファイルの行数をカウントするので、サンプルファイルとして以下のようなファイルを用意しました。
ファイルの改行コードはUTF-8
で、改行コードはLF
のファイルです。空行を除くと7行になる想定です。
Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 Sample7
「tFileRowCount」コンポーネントの設定
「tFileRowCount」は以下のように設定しました。
ファイル名
行数をカウントしたいファイルを指定します。
行区切り
行区切り文字を指定します。ファイルの改行コードがLF
であれば\n
を、CRLF
であれば\r\n
を指定します。
空行を無視
空行をカウントに含めるかどうかのオプションです。今回は有効にします。
エンコーディング
ファイルのエンコーディングを指定します。今回はUTF-8
を指定しました。
「tJava」コンポーネントの設定
「tJava」コンポーネントでは、以下のようにtFileRowCount_COUNT
を指定して行数を標準出力に表示させます。
System.out.println(((Integer)globalMap.get("tFileRowCount_1_COUNT")));
なお、コードは以下のようにtFileRow
などと入力してCtrl+Spaceを入力するとダイアログが表示されるのでtFileRowCount.COUNT
を選択すると自動入力されます。
実行結果
設定は以上です。実際にこのジョブを実行すると以下のように出力されます。
[statistics] connecting to socket on port 3461 [statistics] connected 7 [statistics] disconnected
想定通り7行としてカウントされました!
まとめ
以上、「tFileRowCount」コンポーネントの紹介でした。
今回はサンプルなので行数が少ないですが、数GBもあるようなファイルの行数カウントに便利ではないかと思います!
それでは。