BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Cascading 2.5がHadoop 2をサポート

Cascading 2.5がHadoop 2をサポート

原文(投稿日:2013/11/19)へのリンク

Hadoopは順調に普及しているが,企業にはまだ,Hadoopベースのアプリケーション開発を迅速かつコスト効率よく行うための適切なアプローチを見つけ出すという,直面した課題が残っている。この目標を達成する手段のひとつがDSL(Domain Specific Language)を採用することだ。これによってHadoop実装の相当な簡略化が達成できることも少なくない。

低レベルのMapReduce API上に構築された代表的なJava DSLのひとつとしてCascadingがある。大規模なデータワークフローを関数型プログラミングで実装するDSLとして2007年に公開されたCascadingは,"配管工事" のメタフォに基づいている。データ処理を馴染み深いもの – パイプ,栓,タプル列,フィルタ,継ぎ手(Join),トラップなど –で組み上げられたワークフローとして定義するのである。

Cascadingは今週,製品の新バージョン – Cascading 2.5 – を公開した。YARNを含むHadoop 2のサポートが提供されている。同社のプレスリリースによれば,この新リリースには次のような機能がある:

  • YARNを含むHadoop 2の新機能サポート。Hadoop 2へのアップグレードを計画中のCascadingユーザはこれにより,アプリケーションのシームレスな移行と,YARNなど新しい高度な機能の利用が可能になる。
  • 複雑な表結合(Join)操作のパフォーマンス改善,動的パーティションの最適化,およびHDFSへのデータ格納の効率性向上。
  • Cloudera, Hortonworks, MapR, Intel, Altiscale, Qubole, Amazon EMRなど,他のHadoopベンダやHadoop・アズ・ア・サービスのプロバイダに対する幅広い互換性の追加。その中にはCascadingユーザに対して,より豊富なデプロイメントオプションや利用可能なサービスをオンプレミス,クラウド上を問わず提供可能なものもある。

これと同時にConcurrentも,Cascading Lingualの一般提供を発表している。Hadoopベースのデータにアクセスするための包括的ANSI SQLインターフェースを提供する,オープンソースの開発プロジェクトである。このプロジェクトでは高度な業界標準OLAPツールから引用した,7,000以上のSQL-99ステートメントをカバーする。Cascadingによれば:

Hadoopエコシステム内の任意のツールを対象に,幅広いSQLのカバレッジを提供します。Hadoopをシンプルで扱いやすいものにするとともに,たったひとつのSQL文を使うだけで,複数のデータストアを対象とするHadoopへのシステム統合を簡単に実現するという意味で,これは革新的なものです。

InfoQではCascadingの最新リリースについて,Concurrent Inc.のCTOで創設者のChris K Wensel氏と議論する機会を得た。

InfoQ: Cascading 2.5でYARNをサポートするというのは,正確にはどのようなことなのでしょう - MapReduceコードがYARNのリソースマネージャを使っているという事実を言っているのでしょうか,あるいはCascading独自のアプリケーションマネージャを新たに開発する上で,実際にYARNを利用しているのですか?

Wensel: Cascading 2.5がYARNを暗黙的にサポートしている,つまりCascading 2.5がHadoop 2をサポートしているためにYARNの機能もサポートされる,という意味です。Cascadingのアプリケーション開発で,実際にYARNを利用している訳ではありません。

InfoQ: Cascadingアプリケーションのパフォーマンスをさらに改善する目的で,Apache Tezを利用する予定はありますか?

Wensel: はい,そのつもりです。Tezの計画は私たちのロードマップにありますので,適切な時期になればアップデートを連絡する予定でいます。

InfoQ: 複雑な表結合のパフォーマンス向上と最適化について,さらに取り組む予定はありますか?

Wensel: 従来よりも複雑で特別な結合対応が利用できるように,APIをアップデートしました。ある特定の状況下では,この機能を活用することが可能になるでしょう。

InfoQ: あなたの意見として,SQLベースの処理が重視されている現状が,Hadoopで開発されたアプリケーションの範囲を限定していると思いますか?極めて大きな勢力でありながら,SQLが解決可能な問題の範囲はごく限られています。このことが企業がHadoopを活用する上で,アプリケーションの範囲を限定しているように思うのです。

Wensel: SQLはその他99%の開発者,アナリスト,あるいはレガシシステムでHadoopの利用を可能にします。SQLのせいで壁に当たることはあるかも知れません。ですがおよそ90%の問題は,SQLで合理的に表現することができます。Cascadingは戦い方の選択肢を提供するものなのです。例えば,SQLならば1行でできるようなことのために,まとまったJavaコードを書きたいと思う人がいるでしょうか。同じように,Javaで記述してテストするのがベストであることをするのに数百行のSQLを書く人もいないはずです。Cascadingは開発者にフレキシビリティを提供するのです。

 

この記事に星をつける

おすすめ度
スタイル

BT