BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース LinkedInのデータ取得プラットフォームGobblin

LinkedInのデータ取得プラットフォームGobblin

原文(投稿日:2014/12/15)へのリンク

2014 QCon San FranciscoカンファレンスでLinkedInのLin Qiao氏はGobblinプロジェクトについて話をした(ブログにも説明がある)。このプロジェクトは内部と外部のデータソースから統一した方式でデータを取得するためのシステムだ。100テラバイト以上の新しいデータを日々扱うなかで、Gobblinは企業がビッグデータプロジェクトを実行するときに直面する多くの困難を扱う。

GobblinはHadoopの周辺に構築される中央ストレージ(Hadoopの分散ファイルシステム、HDFS)であり、分析プラットフォームであり、ビジネス分析、エンジニアリングを提供し、知見とデータを提供する。

Qiao氏によれば、LinkedInはすでにかなり複雑なシステムを持っており、数年に渡ってHadoopへあらゆる種類のデータをためている。例えば、ウェブサイトのユーザの動きから生まれるストリームデータはApache Kafka経由で取得され、Camusを使ってHadoopに保存される。CamusはKafkaのストリームをHDFSに保存するためのアダプタだ。ユーザのプロファイルデータの変更はDatabusが処理する。DatabusはLinkedInのオープンソースプロジェクトだ。

外部データはSalesforce、Google、Facebook、Twitterから来る。全体のデータの小さな一部であるが、データのフォーマットの変更が頻繁であり、可用性やデータの品質は脆弱で、LinkedIn側のコントロール下にないため、問題を生む。

既存のシステムでは、異なるソリューションの間でも多くの重複がある。というのは、レコードフィルタリング、変換、品質制御のような課題はすべてのアプローチで独立して解決されているからだ。Gobblinの目的は、ワークフローを統一して新しいデータの統合を簡単にすることだ。

Gobblinは、既存のすべてのデータソース向けのアダプタを提供し、統一した処理パイプラインを提供する。ワーカーフレームワークを利用し、各レコードを抽出、変換、品質検証、書き込みの4つのステージで処理する。変換では、処理の流れを適用する。フィルタリングや射影(必要な情報だけを抽出する)、型変換、構造変化などの処理だ。Qiao氏は、Gobblinが生成したデータは信頼できるということを保証するため、データ品質のチェックがとても重要だ、という。これによって、開発者はレコード単位の処理のロジックに注力すればよい。ジョブのスケジューリングやストリーミング、バッチデータの処理、拡張性、対障害性を考慮する必要がなくなる。

将来は、GobblinはYARN上で動作するよう計画されている。YARNはHadoopの汎用リソースマネージャであり、実行フレームワークで異なるアプリケーションを並列してHadoopクラスタで動かすことができる。また、ストリーミングのサポートを改善する予定だ。さらに、新しいデータソースからのデータ取得のためのDSLの作成を計画している。そして、Gobblinは近い将来はオープンソース化される予定だ。

過去、LinkedInは多くのオープンソースプロジェクトに貢献している。Apache Kafka、Databusはもとより、ログ収集と視覚化システムであるWhite Elephantもそうだ。Apache DataFuもまた同社が貢献しているプロジェクトであり、統計や推定などのユーザが定義する多くの機能を提供する。DataFuは2014年2月にApache Software Foundationのインキュベーションステージになった

この記事に星をつける

おすすめ度
スタイル

BT