[Talend]tFilePropertiesを利用してファイル情報を取得する
はじめに
こんにちは。DI部の大高です。
今回はTalendのコンポーネント「tFileProperties」によるファイル情報の取得を紹介したいと思います。
前提条件
Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」で検証しています。
tFilePropertiesについて
「tFileProperties」を利用するとファイル情報を取得することができます。
「tFileProperties」コンポーネントのTalend Helpページはこちらです。
では、具体的に以下で解説していきます。
ジョブの説明
「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」コンポーネントはファイルサイズによって処理を分ける場合など、ジョブ内でファイル情報を取得・利用したい際に活用できるコンポーネントだと思いました。
それでは。