[Talend]tChangeFileEncodingを利用してファイルの文字コードを変更する

はじめに

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

今回はTalendのコンポーネント「tChangeFileEncoding」によるファイルの文字コード変更を紹介したいと思います。

前提条件

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

tChangeFileEncodingについて

「tChangeFileEncoding」を利用するとファイルの文字コードを変更することができます。

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

tChangeFileEncoding

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

ジョブの説明

「tChangeFileEncoding」でファイルのエンコードを変更して保存するだけのシンプルなジョブです。

入力データについて

まず最初に入力データを用意して確認しておきます。

今回はサンプルとして「Shift_JIS」のcsvファイルを用意しました。

また、別途文字コードをnkfコマンドで確認しておきます。

$ nkf --guess ~/Documents/tChangeFileEncoding/Shift_JIS.csv
Shift_JIS (CRLF)

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

コンポーネントの設定はシンプルです。入出力のファイルパスと文字コードの指定を行います。

入力文字エンコーディングの指定

このオプションを有効にすると、入力ファイルの文字コードが指定できます。

エンコーディング(入力)

入力ファイルのエンコーディングを指定します。標準ではプルダウンから「ISO-8859-15」、「UTF-8」、「ISO8859-1」、「utf-16」、「GB2312」、「CUSTOM」が選択できます。

「CUSTOM」を選択すると、更にテキストボックスが表示されるので、ここで任意のエンコーディングを指定することも可能です。

今回は「CUSTOM」を選択し、「Shift_JIS」を指定しました。

入力ファイル名

入力ファイルを指定します。

出力ファイル名

出力ファイルを指定します。

エンコーディング(出力)

出力ファイルのエンコーディングを指定します。標準ではプルダウンから「ISO-8859-15」、「UTF-8」、「CUSTOM」が選択できます。入力ファイルのエンコーディング指定と同様に「CUSTOM」を選択して任意のエンコーディングを指定することも可能です。

今回は「UTF-8」を選択しました。

実行結果

設定は以上です。実際にこのジョブを実行すると出力ファイルパスにファイルが出力されるので、ファイルのエンコーディングを確認します。

$ nkf --guess ~/Documents/tChangeFileEncoding/UTF-8.csv
UTF-8 (CRLF)

設定したとおり、文字コードが「UTF-8」に変更されました!

まとめ

以上、「tChangeFileEncoding」コンポーネントによるファイルの文字コード変更のご紹介でした。基本的にファイルのETL処理をする場合には読み込む際に文字コードを指定して処理すると思いますが「何も処理をしないで文字コードだけ変えたい」というケースなどにおいて利用できるコンポーネントだと思います。

それでは。