Skip to content

Instantly share code, notes, and snippets.

@YoshihitoAso
Last active August 29, 2015 14:04
Show Gist options
  • Select an option

  • Save YoshihitoAso/ab5709b81150cf4d4aff to your computer and use it in GitHub Desktop.

Select an option

Save YoshihitoAso/ab5709b81150cf4d4aff to your computer and use it in GitHub Desktop.
[Hadoop] hadoop conference japan 2014 参加記録

Hadoop Conference Japan 2014 参加記録

7/8に開催された Hadoop Conference Japan 2014に参加してきました(去年に引き続き2回目の参加)。こちらはその参加メモになります。

hadoop

そもそもHadoop Conference Japanとは、並列分散処理フレームワーク Apache Hadoop および周辺のオープンソースソフトウェアに関するユーザカンファレンス。 日本Hadoopユーザー会の有志によって運営されており、今回で5回目の開催になる。

↓各種レポート記事へのリンク↓

  • gihyo.jp
  • ITpro
  • Publickey

タイムテーブル

当日のタイムテーブルはこちら

午前のキーノートから始まり、昼食(無料!)を挟んで、午後はHadoopに関する技術トピックや活用事例を紹介する発表、という流れ。

以下は、自分が聞いた発表

【午前:キーノート】

  • 米谷 修 (リクルートテクノロジーズ)、濱野 賢一朗 (日本Hadoopユーザー会, NTTデータ)
  • Doug Cutting (Hadoop生みの親, Apache Software Foundation, Cloudera) 『The Future of Data』
  • Patrick Wendell (Apache Spark主要開発者, Databricks) 『The Future of Spark』 [講演資料]
  • 太田 一樹 (Treasure Data CTO) 『Hadoopエコシステムの変遷と、見えてきた使いどころ』

【午後】

  • リクルート式Hadoopの使い方 3rd Edition : 石川 信行(リクルートテクノロジーズ)
  • SQLによるバッチ処理とストリーム処理 : 田籠 聡 (LINE)
  • A Deeper Understanding of Spark Internals : Patrick Wendell (Databricks)
  • Spark1.0での動作検証 - Hadoopユーザ・デベロッパから見たSparkへの期待 : 土橋 昌 (NTTデータ)
  • Treasure Data on The YARN : 小林 隆(Treasure Data)
  • 並列SQLエンジンPresto - 大規模データセットを高速にグラフ化する方法 : 古橋 貞之(Treasure Data)

午前:キーノート

濱野 賢一朗 (日本Hadoopユーザー会, NTTデータ)

  • 今回の参加者数は1296名。そのうち約65%が初参加とのこと。
  • Hadoopは絶賛進化中。現在は2.X系の開発が中心
  • その中心的なトピックは「YARN」(※)
  • 日本におけるHadoopの利用ユーザは徐々に増えており、今回の参加者の44%以上が6ヶ月以上の利用経験を有する
  • 利用しているエコシステムとしてはHive、HBaseが多い。Impala、Sparkなどの比較的新しいプロダクトについても利用ユーザは相当数いる。

※YARN(Yet Another Resource Negotiator)についての参考資料

Doug Cutting (Hadoop生みの親、Apache Software Foundation, Cloudera)

  • ハードウェアの価格は更に安く、データの価値は更に高まる(よりハイレゾリューションに)、そのためのソフトウェアが必要になる
  • そしてオープンソースが勝ち残る (luceneは 1999 から開発開始しているが、事実生き残っている)
  • オープンソースは使う側から見てもリスクを低減する。プラットフォーム技術については特にOSSであることが必要とされる。
  • Hadoopの機能はさらに向上し、Hadoopが当たり前になるだろう
  • GoogleのSpannerのようにトランザクション処理をHadoop上でサポートするという話があった(※)

※この辺の参考記事

Patrick Wendell (Apache Spark主要開発者、 Databricks)

  • Spark開発者の一週間の活動
    • パッチの投稿や修正等:500件、JIRA/GitHub上でのコメント:200件、メール:140スレッド、マージされるパッチの数:80件
  • Sparkはここ1年で急速に成長した
  • APIの安定性を重視している。APIを破壊するようなパッチはビルドに失敗するようにしている
  • 開発者にやさしいリリースサイクルでリリースを行っている。マイナーリリースは3ヶ月毎、必要に応じてメンテナンスリリースを行っている。
  • Sparkの主要エコシステムはSpark SQL(SQL on Spark)、MLLib(機械学習ライブラリ)、GraphX(グラフDB)、Spark Streaming(ストリーム処理)
  • そのうちSpark SQLは他のコンポーネントよりも早く成長している。MLLibがその次。
  • SparkR といプロダクトもある。RでSparkを動かす。
  • Databricks Cloudのデモ。Web UI上でSparkのプログラムが書ける。SQLも実行できる。その実行結果を簡単にグラフ表示ができる。すごい。

Apache Spark に関する参考資料

太田 一樹 (Treasure Data CTO)

『Hadoopエコシステムの変遷と、見えてきた使いどころ』(資料未公開)

  • ただ単に「安いストレージ的」に使うのであれば、GlusterFSやCephといったストレージ特化の様々なプロダクトがある。こちらのほうが優れてる。

  • Hadoop エコシステムの進化と混沌 4つの側面で様々なプロダクトが乱立している

    • 1.Collect Any Types of data
      • 様々なデータ収集ミドルウェアの開発が進んでいる
      • Fluentd, Kafka, Flume, Sqoop
    • 2.Store Any types of data economically
      • Parquet, ORCFile (format)
      • HDFS, HBase, Accumulo
      • Ambali, HUE, Cluudera Maager 管理/運用の支援は大事
      • Treasure Data, AWS EMR
    • 3.Faster Use of Data
      • いかに早くデータを扱うか?
      • YARN
      • Storm, Samza, Norikra
      • Apache Tez, Spark
      • HiveQL, Pig
      • Java: Cascading, Apache Crunch
    • 4.Better Use of Data
      • いかにうまくデータを扱うか?
      • SQL on Hadoop:Impala, SparkSQL, Presto, Drill
      • 機械学習:Mahout, Spark MLlib, Hivemall
  • 他の選択肢の進化

    • Database の進化
      • MPP(Massiely Parallel Processing) MPPデータベース(RedShiftやBigQueryなど) (※)
      • Schema-on-Write (先にスキーマを決めないといけない) 。アドホックな解析をするためのデータベースとしては少し不向き。
      • Oracle, DB2, SQLserver
      • Teradata, Netezza, Vertica, ParAccel, Greenplum
      • 多くのベンダーが Hadoop 対応を表明
      • 基本的にはスキーマを決めないといけないが、Vertica Zonemap など Schema-on-Read 対応なども
      • 現在の主流
        • Hadoop に生データをすべて集約
        • そこから集計集約したデータを MPP データベースに保存
      • Hadoop は構造化データとの境界線に
      • MPP データベースは非構造化データの領域に踏み込む
      • 誰がマーケットリーダーになっていくのか注視していかないといけない
      • 使用する側は一層の知識とトレンドの把握が必要。

※参考資料 MPPの使い分けの話については、以下の記事が参考になる

午後

リクルート式Hadoopの使い方 3rd Edition : 石川 信行(リクルートテクノロジーズ)


  • リクルートグループのHadoop活用事例に関する発表
  • 様々な利用用途でHadoop、およびHadoopのエコシステムを利用している。詳細は資料の通り。
  • リクルートでは2010年からHadoopの研究開発、2011年から本格展開を始めた
  • 2014年はアドホック分析基盤の導入等の活動を行っている
  • 導入に際しては、既存サービスを生かしつつ、徐々に利用範囲を広げていっている(安く、早く提供)
  • 本番提供しているサービスの他にも、現在も様々な技術検証を並行して実施している。
    • 画像解析(スパースコーディングなど)
    • テキスト解析(Skip-Gramなど)
    • グラフ(Titanなど)

並列SQLエンジンPresto - 大規模データセットを高速にグラフ化する方法 : 古橋 貞之(Treasure Data)


  • 1.イントロ

    • PrestoとはGBからPBのデータ分析を対話的に行う分散SQLクエリエンジン
    • 2012秋からFacebookで開発された
    • Prestoが解決しようとする問題は
      • BIツールから直接HDFS上のデータを可視化できない
      • 日次バッチでPostgreSQLやRedshiftにデータを入れる必要がある
      • いくつかのデータはHDFS上にはない。そのため分析時にHDFS上にコピーが必要
    • Prestoだとクエリをミリ秒から分で処理。ただしETLにはMapReduceやHiveは必要
    • BIツールから接続可能。ODBC/JDBCコネクタ
    • 複数のデータソースにまたがってクエリを実行可能
  • 2.分散アーキテクチャ

    • Discovery Service

    • Coordinator

    • Worker

    • Connector Plugin : ConnectorはJavaで書かれており、ストレージとメタデータの実装。自作も可能。

      • Hive Connector
      • Cassandra Connector
      • MySQL through JDBC Connector(prerelease)
    • Coordinator HA構成を組める

    • BIツールにはODBC/JDBCドライバが必要。ただ一から実装は大変。ということで“Prestogres”を作った

  • 3.クエリ実行

    • Presto自身はデータベースではない。データストアに対してSQLを発行するエンジン(MapReduceではない)
    • 実行モデルはDAGベース
    • 全てのタスクはパラレルに実行され、データはメモリからメモリに引き渡される
  • 4.モニタリング・設定

    • モニタリングが充実している。JMX HTTP APIで詳細な情報を取得できる。
  • 5.ロードマップ

  • QA

    • 同様なプロダクトであるImpalaとの性能比較
      • 現状ではImpalaの方が速い
      • Impalaとの違いは、クエリが落ちてもプロセスが落ちない
      • ログが取りやすい。Prestoは運用周りがよく考慮されている
      • 開発体制がオープン。pullreqもすぐに取り込まれる
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment