月別: March 2016

Talendのジョブ設計パターンとベストプラクティス(第2部)

  前回掲載した、Talendのジョブ設計パターンとベストプラクティスの第1部は、非常に好評をいただきました。読んでくださった方、ありがとうございます。まだ読んでいない方は、ぜひお読みください。第2部では、第1部の内容をもとに、さらに詳細な内容を解説していきます。また、さらに高度な内容についてもいくつかご紹介しようと思います。 はじめに 私は、Talendの開発に長年携わってきましたが、他の開発者がジョブを作成する方法に対して常に興味を持っています。機能を正しく使用しているか、一般的なスタイルを使用しているか、それとも私が知らないスタイルなのか、他にはない優れたソリューションを開発しているか、キャンバス/コンポーネントデータ/ワークフローが持つ抽象的な特性に苦労しているのではないか。答えがどうであれ、重要なのは、設計の意図に沿ってツールを使用することです。これこそが、このブログでジョブ設計のパターンとそのベストプラクティスを解説している理由です。Talendの機能をすべて理解しただけでは十分ではなく、ジョブを作成する最適な方法を理解する必要がある、と私は考えています。 論理的には、「ビジネスユースケース」はあらゆるTalendジョブの基本的な推進要素です。実際には、同じワークフローでもさまざまなバリエーションがありますし、ワークフローにもさまざまなタイプが存在します。このような「ユースケース」のほとんどは、「データソースからデータを抽出して処理し、そのデータを変換した後、最終的には別のターゲットにロードする」という最もシンプルな形式で行われるデータ統合ジョブ、という大前提からスタートします。この点で、ETL/ELTコードは私たちの作業の活力源であると言えます。これは、Talendで日々コーディングに取り組んでいる開発者の皆さんがよくご存じなので、ここでは扱いません。第2部では、皆さんの視野を広げる内容をご紹介したいと思います。 Talendの最新リリース(v6.1.1)は、これまでで最高のバージョンだと思います。ビッグデータ、Spark、機械学習、UIのモダナイゼーション、継続的な統合と展開の自動化(他にも多彩な機能が実装されています)において、コンポーネントが新たに加わりました。今日販売されているデータ統合テクノロジーの中で最も優れた堅牢性と機能性を誇るバージョンです。少々手前味噌かもしれませんが、ユーザーの皆さんも私と同じ評価をしてくださると思います。ぜひ、ご自分で実感してみてください。 DIプロジェクトを成功へと導く3つの基本的指針 では、始めましょう。椅子が立つには、脚が少なくとも3本は必要です。これは、ソフトウェア開発にも当てはまります。データ統合プロジェクトの作成とデリバリーを成功させるには、3つの基本的な要素が存在します。 ユースケース – 明確に定義されたビジネスデータ/ワークフロー要件 テクノロジー – ソリューションを構築、展開、実行するツール 手法 – 一般的に合意された実行方法 上記を念頭に、明確に定義された「開発ガイドライン」ドキュメント(このシリーズの第1部を読んでいただけたでしょうか? プロジェクト用のドキュメントは作成されていますか?)に沿って、前提となる条件を構築していきましょう。 基本的指針の拡張 Talendの「ジョブ」が「ユースケース」ワークフロー内のテクノロジーであれば、ジョブ設計パターンはそれを構築するベストプラクティスの「手法」です。このブログの内容で最も重要なことは、一貫した方法でジョブを作成する、という点です。もしもより良い方法が見つかり、それがうまく機能しているのであれば、そのまま進んでください。ただし、パフォーマンス、再利用性、保守性の向上に苦戦している方や、変化を続ける要件に合わせてコードのリファクタリングを続けている方には、これらのベストプラクティスが役立ちます。 さらに検討すべき9つのベストプラクティス: ソフトウェア開発ライフサイクル(SDLC) 億万長者のMarcus Leminos氏が提供する番組、「The Profit」(CNBC)によれば、「人、製品、プロセス」は、あらゆるビジネスの成否を分ける3大要素です。これには、私も同意します。SDLCプロセスは、ソフトウェア開発チームの要です。このプロセスを適切に行うことが非常に重要であり、それを無視すれば、プロジェクトに深刻な影響を及ぼし、プロジェクトは失敗に陥ってしまいます。TalendのSDLCベストプラクティスガイドには、Talendが開発者に提供する継続的統合と展開に関する概念、原則、仕様、詳細な説明が記載されています。前のブログ記事でご紹介した「開発ガイドライン」ドキュメントにSDLCベストプラクティスを反映することを、すべてのソフトウェア開発チームにお勧めします。 ワークスペースの管理 Talend StudioをノートPC/ワークステーションにインストールすると(管理者権限があるものとします)、デフォルトの[Workspace]ディレクトリがローカルディスクドライブ上に作成されます。多くのソフトウェアインストールと同様に、このデフォルトディレクトリは、実行可能ファイルと同じディレクトリ内に作成されます。私は、これは良いプラクティスだとは思いません。なぜでしょうか。 プロジェクトファイル(ジョブ、リポジトリメタデータ)のローカルコピーは、この[Workspace]に格納されます。これを、ソースコード管理システム(SVN、GIT)にTalend Administration Center(TAC)を介してアタッチすると、プロジェクトをオープンまたは保存するたびに同期が行われます。このようなファイルは、簡単に識別および管理できる場所に格納すべきです。ディスク(または別のローカルドライブ)上に格納するのがよいでしょう。 ワークスペースは、Talend Studioで接続を作成する際に使用されます。接続は、「ローカル」と「リモート」のいずれかです。この2つの相違点は、「ローカル」接続がTACで管理されないのに対して、「リモート」接続はTACで管理される、という点です。一般的に、サブスクリプションユーザーは「リモート」接続のみを使用します。 チーム全員が使用する「開発ガイドライン」ドキュメントでディレクトリ構造を明確に定義することで、最適なコラボレーションを実現できます。ここで重要なのは、チームの同意を得て、規範を徹底し、一貫性を維持することです。 参照プロジェクト 皆さんは、参照プロジェクトを使用していますか。参照プロジェクトをご存知でしょうか。参照プロジェクトは、シンプルであるにもかかわらず生産性を高める機能なのですが、使用していないユーザーが数多く存在します。再利用可能な汎用コードを作成し、複数のプロジェクトで共有することは、開発者共通のニーズです。開発者は、プロジェクトを開始する際、コードの一部をコピーし、別の(または同じ)プロジェクトやジョブに貼り付ける、という作業をよく行います。または、あるプロジェクトのオブジェクトをエクスポートし、別のプロジェクトにインポートすることもあるでしょう。かつては、私もこの方法を使用していました。このような方法に問題はないのですが、お勧めはしません。このプロセスには、保守において深刻な問題が発生する危険が潜んでいます。そこでお勧めなのが、参照プロジェクトです。私は、参照プロジェクトを見つけたとき、とても嬉しかったことを憶えています。 TACを使用してプロジェクトを作成している方は、ひっそりと存在する[Reference]チェックボックスに気付き、「これは何だろう?」を思ったことがあるのではないでしょうか。プロジェクトを作成し、このチェックボックスを選択して「参照プロジェクト」を作成すると、他のプロジェクトを「含める」設定や「リンク」することが可能になります。「参照プロジェクト」で作成したコードは、リンクしたプロジェクト内で使用できるようになるため(読み取り専用)、再利用可能性が非常に高まります。このプロジェクトには、共通のオブジェクトやコードをすべて格納すべきです。               ただし、「参照プロジェクト」は最小限に留める必要があります。ベストプラクティスでは、参照プロジェクトの数は1つに限定してください。場合によっては、2つまたは3つでも問題ありません。注意:「参照プロジェクト」の数が多すぎると、その効果が損なわれてします。参照プロジェクトでは、慎重な管理が非常に重要になります。その用途とルールを「開発ガイドライン」ドキュメントに明記し、チーム全体が順守することにより、最適なコラボレーションを実現できます。 オブジェクトの命名規則 「名前が何だというのか。どのような名で呼ばれようと、薔薇は美しく香る」という有名な台詞がありますね。 そうはいっても、やはり「命名規則」は重要です。どの開発チームも命名規則に関して検討し、プラクティスを確立すべきです。Talendオブジェクトの名前、命名のタイミング、命名方法にかかわらず、一貫性が必要不可欠です。Talendのオブジェクトの命名規則を「開発ガイドライン」ドキュメントに明記し、チーム全体が順守することで、最適なコラボレーションを実現できます(次第にパターンが見えてきたことにお気付きでしょうか)。 プロジェクトリポジトリ Talend Studio(Eclipse IDE:Integrated Development Environment。簡単に言えば、ジョブエディターです)でジョブを開くと、左のパネルにプロジェクトリポジトリが表示されます。ここに、プロジェクトオブジェクトが格納されています。ここには、極めて重要なセクションがいくつか存在します。その1つが[job […]


What are the Top Three Questions Keeping CDOs Up at Night?

Gartner research recently posted the results of its inaugural survey of chief data officers (CDOs), which revealed that the primary mandate and objective of today’s CDO is to manage, govern and utilize information as an organizational asset. Well, at Talend we see ‘enterprise information’ as more than just ‘an asset’ – we believe it is […]


Five Key Tips for Making MDM the Foundation for Your Customer Centric Organizations

Customer data is everywhere. In some organizations, it can become the root cause for serious business inefficiencies: Undeliverable outbound e-mails, returned shipping, unaddressed customer claims, lack of privacy regulation compliance or data breaches. However, if customer data is managed correctly, it can fuel new levels of customer acquisition, company performance, sales conversion rates and the […]


Talend Integration Cloud Spring ‘16: Making Leaps with Spark, Amazon Redshift, and EMR Integration

Several years ago, the cloud was a concept that many forward looking businesses were just beginning to think about and which many feared. In fact, even as few as three years ago —particularly for enterprises—there were looming concerns around security, apprehension to relinquish one’s data to a third party, periodic incidents of massive cloud provider […]


The Five Phases of Hybrid Integration—Part II

The challenges emerging from digital business, and demand for greater agility, are forcing changes to integration approaches. Integration leaders can assess technology providers by understanding the five key phases of hybrid integration projects and their needs as an organization.  In our last installment, we looked at the very first two phases of hybrid integration, which by […]


How To Operationalize Meta-Data in Talend with Dynamic Schemas

This blog addresses the operationalizing of meta-data usage in data management using Talend. To explain further you have files and tables which have schema definitions. The schemas hold information like name, data type, and length. This information can be imported or keyed in with a visual editor like Talend Studio at design time; however, this can […]


Why Marketing Teams Need Data Prep Tools!

Guest blog by Charles Parat, Strategy & Innovation Director, Micropole Group In today’s world, business workers must utilize a range of enterprise applications in order to complete some of the more routine tasks associated with their job title. When these applications work well and help streamline repetitive tasks, workers have time to focus on more strategic endeavors […]


Apache Solr High Speed Data Integration Plugin

Guest blog post from The Digital Group. T/DG, stands for The Digital Group, has been working on Talend based data source integration for quite some time. The Digital Group recently launched 3RDi (Third Eye) Enterprise Search Discovery and Analytics Platform that utilizes capabilities of Talend for all data integration layers. 3RDi is a comprehensive suite […]


The Five Phases of Hybrid Integration—Part I

  Today’s digitally-driven businesses intensify the data integration challenges that IT departments face. With a greater number of SaaS and on-premises applications, machine data, and mobile apps, we are seeing the rise of  complex value-chain ecosystems that are proliferating to support these digital business initiatives. IT leaders need to incorporate a portfolio-based approach and combine […]


Big Data: Why You Must Consider Open Source

  Guest Blog by Bernard Marr, Founder and CEO of The Advanced Performance Institute A quiet revolution has been taking place in the technology world in recent years. The popularity of open source software has soared as more and more businesses have realized the value of moving away from walled-in, proprietary technologies of old. And […]