clock2015.06.16 15:01
SERVICE
home

”Talend”と”RapidMiner Studio”、2つのETLツールを比較してみた|Talend Open Studio によるビッグデータ分析(第1回)

AUTHOR :   ギックス

Talendはコンポーネント(機能)を追加、開発できる開発者好みのオープンソースETLツール

データ分析するためには、データーベース(以下、DB)で取込める形に加工する必要があります。この加工には、高価なETLツールを使用するか、プログラミングで加工システムを開発する必要があります。しかし、最近、Amazon AWSなどで話題となっているTalend Open Studio(以下、Talend)は、多くの機能を持っていながらも、基本的に無料で使用可能です。今回は、ETLツールの先駆者であるRapidMiner Studio(ラピッドマイナースタジオ)と比較しながら、Talendが優れている点をご紹介したいと思います。

ETLツールとは

ETLとは、Extract(抽出)、Transform(変換・加工)、Load(ロード)の頭文字を繋いだIT用語です。ETLは、分析対象のデータファイルをDBで取り込ませるために重要な処理であり、この処理を行うツールがETLツールと呼ばれています。

抽出(Extract)されたデータファイルがCSVファイルのようなDBのテーブルと同じレイアウトの場合、ETL処理は、ほとんど必要なく、そのままDBに取込(Load)できます。しかし、Excelファイルなどのドキュメント、JSONファイルなどの表形式以外のデータファイルは、データ加工(Extract)を行わないとDBに取込むことができません。このような場合にETLツールが必要になります。

RapidMiner Studioとは

RapidMiner Studio(以下、RapidMiner)は、オープンソースのデータマイニングツールで、2010年には業務で最も利用されたデータマイニング及び分析ツールとなった事もあるらしいです。RapidMinerは、データ統合、ETL、データ分析、レポーティングなどの機能を持っており、RapidMinerとDB環境があれば、大規模なデータ取込から分析レポートまでを作成することができます。また、R言語によって統計分析を行うことができます。

ETLツールとしての機能も十分持っており、無償版では取扱えるデータファイル(CSV、Excel)とメモリ制限(1GBまで)がありますが、基本的なデータ加工処理は、優れたユーザーインターフェース上で行うことができるため、プログラムの知識がない作業者でもデータ加工の処理を組み立てることができます。

TalendがRapidMiner Studioより優れている点

無償版のETLツールの先駆者として、一時代を作ったRapidMinerですが、その地位は、Talendに代わると予想しています。何故、今後、Talendが伸びていくかをRapidMinerと機能比較をしながら解説したいと思います。

無償版でも多くの事ができる

RapidMinerの無償版では取扱えるデータファイル(CSV、Excel)とメモリ制限(1GBまで)がありますが、Talendにはそのような機能制限はありません。特にTalendで扱えるデータファイルはCSV(区切り記号付ファイル)、Excel、JSONファイル、XMLファイルなどがあり、一般的なデータファイルは、ほぼ網羅していると言っても過言ではありません。RapidMinerの有償版やDataSpiderなどを使用すれば、様々なデータは扱えますが、ツールがかなり高額になります。talend1

Talendにも有償版はありますが、モデリングやデバック機能、サポートオプションなどのため、基本的なデータ加工処理には影響しません。そのため、RapidMinerの場合に起こり得る「無償版に無い新しい機能が必要になったから、有償版に切り替える」ということがありません。無償版のTalendだけで、有償版のETLツールと同等、または、それ以上の機能が備わっています。

コンポーネントを追加できる

Talendには、Talendコミュニティというものが存在し、その中で世界中の開発者が作成した独自のコンポーネント(機能)が公開されています。これらのコンポーネントは、Talendのユーザー登録を行った利用者であれば、Talend Exchangeという機能を使用することで簡単に無償で入手できます。talend2

コンポーネントを開発できる

RapidMinerやDataSpiderは、ETLツールとして、多くのコンポーネントを持っています。しかし、これらのコンポーネントで対応できないデータファイル取込やデータ加工の要件が発生した場合、ETLツール単独の機能としては対応できません。もし、これらのETLツールに別機能として追加したい場合、別の開発環境(ツール)で実行モジュール(ファイル)を開発し、ETLツールから外部実行モジュール呼出によって使用するため、大変、複雑な作業になります、そして、外部実行モジュールのプログラム資産と開発環境を管理する作業が発生します。

しかし、Talendは、追加機能のコンポーネント開発をTalend単独で行えます。これは、Talend自体が統合開発環境のEclipseをベースに作られているためです。Eclipseは、Java言語やPython言語でのプログラミング開発で最も使われる開発画面で、Talendの機能は、Eclipseの機能を多く取り入れられています。そのため、Talendの追加機能コンポーネントを開発する場合は、Talendの中でJava言語で開発できます。また、これらの開発したコンポーネント内部からTalendの変数を使用することが可能なようなので、外部実行モジュールを作るより自由度が高いコンポーネントを作れそうです。talend3

Talendは成長系ETLツールである

従来のETLツールの場合、決められた機能があり、それ以上のデータファイル取込やデータ加工が必要になった場合、新しいETLツールを導入したり、外部実行モジュールの開発が必要になるなど、ETLツールとしての機能は限られている物でした。しかし、Talendは、コンポーネントの追加、開発などによって機能を拡張できます。例え、最初のコンポーネント開発に工数がかかっても、これらの資産はTalendの機能の一部になっているため、次の同様のデータ加工案件が発生した場合、機能を流用できるため、クイックに対応できるようになります。

そのため、Talendを使用した場合、少数のコンポーネント開発者が居れば、それ以外のデータ加工に携わる作業者は、プログラムの知識がなくとも高度な処理ができるようになる事も不可能ではありません。

これから、複数回に渡り、これからETLツールのトレンドとなりえるTalendを紹介していこうと思います。

【連載、Talend Open Studio によるビッグデータ分析】
  1. ”Talend”と”RapidMiner Studio”、2つのETLツールを比較してみた (本稿)
  2. Talendのインストールと初期設定(Windows 8.1編) ~Javaのバージョンに気を付けろ~
  3. Talendで簡単なジョブの作成
  4. フォルダ中のファイルを変換して1つにまとめる
  5. フィルタリングと文字列置換とプログラムによる変換方法
  6. DB間のデータコピーを2つのコンポーネントだけで行う
  7. Amazon Redshiftへのデータインポートを2つのコンポーネントだけで行う
  8. Talendがバッチ処理の開発方法を変える ~スマートな開発を行おう~
  9. Talendの無償版(TOS)と有償版(Enterprise)の違い
  10. TOSを使ってMicrosoft Azure SQL Data Warehouseを操作する
  11. TOSでギガ単位の適切なテストデータを作成する
  12. Web API からの取得結果をデータベースに登録する処理をノンプログラミングで実現する
SERVICE