[Talend]tFileRowCountを利用してファイルの行数を調べる

はじめに

こんにちは。DI部の大高です。

今回はTalendのコンポーネント「tFileRowCount」を利用したファイルの行数を調べる方法を紹介したいと思います。

前提条件

Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」で検証しています。

tFileRowCountについて

「tFileRowCount」を利用するとファイルの行数を調べることができます。

「tFileRowCount」コンポーネントのTalend Helpページはこちらです。

tFileRowCount

では、具体的に以下で解説していきます。

ジョブの説明

ジョブとしては「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もあるようなファイルの行数カウントに便利ではないかと思います!

それでは。