[Talend]tFilePropertiesを利用してファイル情報を取得する

はじめに

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

今回はTalendのコンポーネント「tFileProperties」によるファイル情報の取得を紹介したいと思います。

前提条件

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

tFilePropertiesについて

「tFileProperties」を利用するとファイル情報を取得することができます。

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

tFileProperties

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

ジョブの説明

「tFileProperties」でファイル情報を取得し、「tLogRow」で取得したファイル情報を標準出力に表示します。

「tFileProperties」コンポーネントの設定

「tFileProperties」コンポーネントの設定は、以下のとおりファイル情報を取得したいファイルの「ファイル」パスを指定するのみとなります。

取得できる情報は、固定のスキーマ定義にある以下の項目です。

abs_path(絶対パス)

ファイルの絶対パスです。

dirname(ディレクトリ名)

ファイルのディレクトリパスです。

basename(ベース名)

ファイル名です。拡張子付きのファイル名になります。

mode_string(モード文字列)

ファイルのアクセスモードです。"r"と"w"が、それぞれ"read"と"write"のパーミッション文字列として表示されます。

size(サイズ)

バイト単位のファイルサイズです。

mtime

Unixエポック(1970年1月1日00:00:00)から経過したミリ秒で、ファイルが最終更新された時刻を示すタイムスタンプです。

mtime_string

ファイルの最終更新日時です。

「tLogRow」コンポーネントの設定

コンポーネントの設定は、ログを見やすくするため「縦に出力」を選択しています。他はデフォルト設定のままです。

実行結果

設定は以上です。実際にこのジョブを実行すると以下のように出力されます。

[statistics] connecting to socket on port 3978
[statistics] connected
.---------------------------------------------------------------------.
|                            #1. tLogRow_1                            |
+--------------+------------------------------------------------------+
| key          | value                                                |
+--------------+------------------------------------------------------+
| abs_path     | C:\tmp\Sandbox\Components\tFileProperties\Sample.txt |
| dirname      | C:\tmp\Sandbox\Components\tFileProperties            |
| basename     | Sample.txt                                           |
| mode_string  | rw                                                   |
| size         | 12                                                   |
| mtime        | 1543193174779                                        |
| mtime_string | Mon Nov 26 09:46:14 JST 2018                         |
+--------------+------------------------------------------------------+

[statistics] disconnected

設定通りファイル情報が取得できました!

まとめ

以上、「tFileProperties」コンポーネントの紹介でした。

「tFileProperties」コンポーネントはファイルサイズによって処理を分ける場合など、ジョブ内でファイル情報を取得・利用したい際に活用できるコンポーネントだと思いました。

それでは。