こんにちはCoffeeです。
これからFuture Heartsでビジネスインテリジェンス関係の記事を書かせて頂くことになりました。
これからよろしくお願いいたします。
私はビジネスインテリジェンス(以下BI)のシステム構築に約10年以上携わってきました。
BIの世界は、外資系ベンダーのBI製品、国産ベンダーのBI製品、ここ数年で様々なツールが登場し、消えていったもの、大手ベンダーの傘下に入ったりしたものがあったり結構、競争が激しい領域です。
ただ、多少ツールは変われど、やることは「データ収集」⇒「データ加工」⇒「データ出力・活用(見える化)」の流れが基本で、大きくは変わりません。
BIの世界をすべて1つのツールで実現するものもあれば、活用(見える化)だけに特化しているツールなど、様々な特徴があります。
(お客様に提案する際に、ありすぎて困ることが多々あります。。。)
■この連載の目的
今回は、きれいなデータを作る仕組みということで、データ抽出⇒データ加工⇒データ出力の処理を行う、BIシステムの中で「ETL」と呼ばれる部分にフォーカスをあて、データを作っていく流れを体感して頂こうと思います。
ETLは、Extract (抽出), Transform(加工) , Load(出力)の頭文字をとった言葉になります。
ETL機能をもつアプリーケーションは、BIシステムで利用されることが多いのですが、業務アプリケーション同士でのデータ連携としての利用、システムのデータ移行などの場面でも活躍してます。
■Talendを使ってみる
今回使うツールとして、企業のデータ統合プラットフォームとして企業が保有するビッグデータやクラウド上のデータを用いて、セルフサービスにてデータ・プレパレーションを実現できる、Talend(タレンド)というオープンソースで提供されているアプリケーションの一部を利用し、ETLを表現してみたいと思います。
Talendは、高機能にも関わらず、オープンソースで提供されているというのは、単純にすごいなぁと思うところではあります。
ただ、企業に導入するにあたっては、サポートや製品ライフサイクルの考え方などがありますので、諸手をあげて採用!という形にはならないところがビジネスの面白いところです。
Talendを利用したBIの世界をスーパーを例としてざっくり表現してみました。
だいたいどういうことができるのかイメージできるかと思います。
では、早速、Talendを見てみましょう!
■TalendのインストールとIDE起動(2017年5月現在の情報です)
まずは、Talendを利用できるようにします。
Talendはこちらのサイト(https://jp.talend.com/)でオープンソース版を手に入れることが出来ます。
~私が試したインストール環境~
・Windows7 32bit
・Java1.8
・Talend6.3
手順1.まずはJava1.8をダウンロードとインストールします。
Javaはこちらのサイトからダウンロードできます。
手順2.Talendホームページにアクセスします。
Talendのサイトにアクセスし、今回は「データ統合」のパッケージを対象にします。
手順3.リンク先で最新版のTalendファイルをダウンロードします。
ファイル名はTOS_DI-20161216_1026-V6.3.1.zipです。
手順4.ダウンロードしたファイルを解凍します。
解凍先に以下のフォルダが作成されます。
手順5.フォルダ上にあるTOS_DI-win32-x86.exeを起動します。
以下の画面が立ち上がります。さぁ、Talendで遊びましょう。
■TalendのGUIはこんな感じです。
この画面で、先に述べたように、
データ抽出、データ加工、データ出力の処理を簡単に開発できます。
右の枠(赤)には、
各種コンポーネントが用意されています。「コンポーネント」はTalendで定義された部品のことです。例えば、データの抽出元はどこか?を定義する部品があったり、抽出したデータの一部を切り出したりする部品がたくさん定義されています。
真ん中の枠(緑)には、
コンポーネントをドラッグ&ドロップして、コンポーネント同士をつなげ、ETL処理を作成します。
左の枠(紫)には、
「ジョブ」が表示されます。ジョブは複数のコンポーネントで出来た1つの処理です。
Talendは、コンポーネントを組み合わせることでプログラミングを必要とせずに処理を作成することが可能です。
■Talendはこんなことも出来る
開発経験のある方はTalendのUIを見て気が付くと思います。
TalendはJavaで出来ています。(まんまEclipseですよね!)
というわけで、TalendGUIからJavaソースコードを生成出来ます。
たとえば、ファイルを読み取って、データを加工し、最後にファイルにデータを出力する処理をTalendで作成します。
これをこんな感じで簡単にソースコードで表示できます。
画面上で「Code」タブを選択するだけです。
これでTalendで作成した処理のJavaソースコードを表示できます。
実際に、このソースコードを利用してどこまでJavaの開発が出来るかまでは、検証していないので、時間があればお伝えしたいと思います。
ですが、他のETLツールには無い、特徴のある面白い機能だと思います。
■今回のまとめ
Talendの簡単な説明をしました。
このようなオープンソースを利用することでコストを抑えつつビジネスインテリジェンスのシステムについての動作確認が出来ると思います。
また、TalendのツールGUIもEclipseをベースとしていることで、Eclipseで開発経験のある技術者にとって直感的に操作しやすいと思います。
次回は、具体的なTalendのデータ加工操作を見ていこうと思います。