はじめに
OSSツールのTalend Open Studioが無料でも色々できると聞いたので
試してみようと思います。
ゴールは、BigQuery or CSV → 加工 → Salesforceの流れです。
今回はインストールから簡単な動作確認までやってみます。
Talend Open Studioとは
OSSツールのTalend Open Studioを使用すると、基本的なデータパイプラインの構築を即座に開始できます。 ローカルにインストールされた、自分で制御可能なオープンソース環境から、シンプルなETLおよびデータ統合タスクを実行し、データのグラフィカルなプロファイルを取得して、ファイルを管理します。
JavaベースのETLツールで、GUIでの配置設定
Javaでの加工処理の記述も可能
環境
- macOS 12.4
- java version "11.0.15.1" 2022-04-22 LT
- Talend 8.0.1
12/11日現在、記事中ではTalend 8.0.1を使用していますが
Talend 8.0.1でエラーが発生する現象が起きているので、
7系をインストールすることをお勧めします。
Javeのセットアップ
この記事では、既に実行するmacでセットアップ済みのため書きません。
インストールする
1.必要な項目を入力しインストーラーをダウンロードする
ダウンロードしたdmgを開きインストラーを起動してください。
2.インストール
インストール先はデフォルトのままにしました。
触ってみる
CSV取り込み→不要カラム削除→CSV書き込み
この流れを作ろうと思います。
1.プロジェクトの作成
デフォルトの状態で作成しました。
画面の構成要素について
リポジトリ
ジョブの作成、メタデータの管理をする。
デザインワークスペース
ジョブのデザインやレイアウトを行う。
実際にGUIでデータの変換や転送処理を並べたりする
設定タブ
デザインワークスペースで選択した要素のプロパティの表示・編集を行うエリア
パレット
データの入出力に関係するコンポーネント等が置いてある。
BigQueryのコンポーネントもある。
2. CSVファイルを取り込む
用意したCSVはこちら
Id, FullName
1, "FirstName_1 LastName_1"
2, "FirstName_2 LastName_2"
tFileInputDelimitedの定義-CSV読み取り
tFileInputDelimitedコンポーネントを使います。
パレットからデザインワークスペースにドラッグ&ドロップします。
配置したコンポーネントをクリックし、設定を編集します。
作成したファイルへのパスへファイル名/ストリーム
を変更、フィールド区切り
を","
に変更しました。
読み取り対象のデータ定義を行う
tLogRowコンポーネントを配置し、CSVが読み取れるか確認
コンポーネントを配置し、モードをテーブルに変更
実行してみる
実行タブから実行ボタンをおしてみると以下のエラーが!
どうやらTalend 8.0.1で12/11日現在
設定のローカル言語が日本語だとエラーが起きるそうだ。
記事の通り
Preferences>Talend>国際化
を開く
日本語からEnglishに
変更し Apply and Close
をして再起動してみる。
再起動し、実行することができました。
無事CSVが読み取れていることを確認できました。
3. 不要カラム削除
tMapの定義-CSVマッピング
tMapをCSVの入力とログ出力の間に配置しました
tMapをダブルクリックしマッピングをします。
左側が元のデータ、右側が出力データです。
右側のFullNameカラムをremoveし、左のIdと右のIdをドラッグ&ドロップで紐づけました。
実行してみる
Idのみの出力になりました!
次はCSVに出力してみようと思います。
4. CSV出力
tFileOutputDelimitedの定義-CSV出力
tFileOutputDelimitedLog出力の後ろにつけました。
tFileOutputDelimitedの設定に関しては、
区切り文字を","
にヘッダーを含めるにチェックを入れました。
CSV出力されました。
Id
1
2
最後に
普段はEmbulkを触っているのでこういったGUIのものを触るのは初めてですが、
慣れれば複雑なものを加工するみたいなことはできそうです。
個人的には、定期実行とか転送はしないけどデータの加工だけしたい!みたいなときにCSVとかで吐き出して有効活用して効率あげたいなと思いました。
コンポーネントのこと覚えるのがまだまだ時間かかりそうです。
では次は、BigQuery→加工→CSV
という流れに挑戦してみようと思います。
参考にさせていただいた記事