Hadoop Conference Japan 2014 に行ってきました


Hadoop Conference Japan 2014 に行ってきました

1000人を超える参加者が集まるイベント、
一言で言うと、祭りです!

法被を来たスピーカーのみなさん。
なんとゆるキャラまでいました!!

Hadoop

Hadoop

いい歌声・・・、の写真ではありません

いい歌声・・・、の写真ではありません

 

私も一緒になって
「ビッグデータ!!ビッグデータ!!」
と騒いできました。

平行で3セッションあったのですが、
その中から話を聞いてきたものについて、
簡単に紹介します。

【キーノート】
■濱野 賢一朗 (日本Hadoopユーザー会, NTTデータ)

このイベントについて。

1296名が参加申し込み。
65%が初参加。

複雑化するHadoop。
これまで培ったMapReduceベースの経験をもとに、
YARN上でより洗練された分散処理を行っていくのが今後の流れ。

参加者のアンケート結果。
Hiveを使ってる人が多い。

利用しているエコシステム

利用しているエコシステム

 

■Doug Cutting (Hadoop生みの親, Apache Software Foundation, Cloudera)
オープンソースが生き残る。

2008年のHadoopは、1000台のマシンを扱えるまでになったが、セキュリティの機能がなく、Single point of failure もあった。
今は大きく変わった。

Hadoop上でトランザクション処理ができるようになるだろう。
「エンタープライズデータハブ」
としての役割を担うようになる。

■Patrick Wendell (Apache Spark主要開発者, Databricks)
『The Future of Spark』

活発なコミュニティ活動を強調。
Sparkは互換性を重視。
互換性のないAPIの修正は自動ではじく仕組みまで入れている。
3ヶ月に1回のマイナーバージョンリリース。

Databricks Cloudをデモで紹介。
S3からデータをインポートしたり、
SQL で集計したり。
Twitter streaming demo
は、3秒に1回更新するグラフも披露。

※かっこよくて中々面白いデモでした。
これからはSparkが、Hadoopを扱う以上無視できない存在になりそうな雰囲気を醸し出しています。

■ 太田 一樹 (Treasure Data CTO)
『Hadoopエコシステムの変遷と、見えてきた使いどころ』

混沌としているHadoopとエコシステムの俯瞰的解説。
Hadoopは、構造化データとの境界線へと突入する。
MPP (Massively Parallel Processing)が担っていた役割も含めて、Hadoopでできるようになったりする。

【午後のセッション】

■マルチテナント化に向けたHadoopの最新セキュリティ事情
小林 大輔 (Cloudera)

部門ごとに別々のクラスタを用意するのは大変。一つのクラスタにまとめる方向へ。

その際、セキュリティが必要。
認証(kerberos)と認可(HDFSのユーザアクセス制御と、Sentry)

Sentryは、HiveServer2のImpersonationより細かい制御が可能。
CDH5.1からは、Sentry1.4が使えるようになる。
このバージョンからは、設定ファイルを直接書かなくても、GRANT文などで設定できるようになる。

※Sentry を真面目に調べようと思いました。
セキュリティ大事です。

■Hadoop用の標準GUI、Hueの最新情報
川崎 達夫(Cloudera)

Hueの目標:ビッグデータを多くの人に
利用者も右肩あがり。

Hue3.6(CDH5.1から)には、
グラフや世界地図を表示できるようになった。
ドラッグアンドドロップでダッシュボードを作れる

※リッチなグラフ表示までできるようになってすごいですね。
あと、「Hadoopクラスタ内にHueは置いた方がよい」という話もあって、意外でした。
NW負荷を考えるとその方が効率がよいのだとか。
Hueは大人数で同時にアクセスするような使い方をするものではないから、それでいいんでしょうね。

■Twitterデータ提供サービスにおけるHadoopの活用事例
佐藤 勇一郎、関 堅吾(NTTデータ)

NTTデータではTwitterの全データを取得している。

分析の例:
・「バルス」のカウント
・W杯放送中のTweet分析
– Tweet数を地図上に可視化
– 各選手名をつぶやいた人の嗜好を分析
Twitterセンチメント指標

トラフィックの継続的な増加、
瞬間的な爆発、
データの再取得の難しさを、
どうやって克服してきたか、という話。

情報処理学会に論文として公開している。

 

クラウド+オンプレミスによる受診系統の二重化、
HA化、
障害時に二系統で取得したツイートデータをマージする仕組み、など。

※Twitterセンチメント指標は、
「これで本当に株価の予想なんてできるのかなぁ」
と思っていたのですが、そもそもそういうものではないらしいです。
勘違いしていました。
■A Deeper Understanding of Spark Internals
Patrick Wendell (Databricks)    Taming YARN: how can we tune it?

Spark 実行モデルについて。

単語がたくさんある中から、
各アルファベットで始まるものがそれぞれ何種類あるか(重複はまとめて1つと数える)、
を集計する例を基に説明。

十分なパーティション数にして、
並列化できるようにすることが必要。
でも多すぎてもだめ。
目安として、100~10,000の間。
2 × コア数 より多くする。
データが偏らないようにも注意が必要。

Spark SQL はその辺の最適化も考えて実行される。

※正直私はSpark実行の仕組みをまだよくわかっていません。
ちゃんと理解しないと。

■Lightning Talk
・Shib: WebUI provides cross-over between Hive and MPP
(田籠 聡, LINE株式会社)

Hiveのよくある失敗を防ぐためのクライアント。
permalink を作ったりしてくれるので、結果の共有にも便利。

・Cloudera サポートの現場から、YARNの最新事情
(嶋内 翔, Cloudera 株式会社)

CDH5.0リリース後にYARNの問い合わせ急増。

メモリ不足に注意。
リソースが足りないと起動すらしない。←問い合わせが多かった問題

・SparkとMLlibで実現するかんたん高速機械学習
(山下 勝司, 株式会社マーズフラッグ R&D部)

「Mohoutはもういいかな」

Sparkを使う際はサンプリング、前処理でデータ減らしてメモリに乗るようにすることも必要。

・FluentdやNorikraを使ったデータ集約基盤への取り組み紹介
(添田 健輔, リクルートテクノロジーズ ITソリューション統括部 ビッグデータインフラG)

某サービスのデータ収集基盤についての話。
norikra
fluentd
elasticsearch+kibana
docker
(あとなんだっけ?)

※話題のソフトを全部集めて上手に組み合わせている感じです。

・Apache Flume 1.5を活用したAmebaにおけるログのシステム連携
(飯島 賢志, 株式会社サイバーエージェント)

1日2TBのデータをFlumeでさばいているという話。
Hadoop, HBase, 独自ログ分析基盤、Elasticsearch+Kibana
に流す。

・5分でわかる Apache HBase 最新版
(嶋内 翔, Cloudera 株式会社)

「HBaseはもはや火山ではない。死火山だ。」
※もう近寄っても大丈夫ということらしい

CDH3の頃は障害発生で復旧に数時間かかることもあったが、
今(0.96)は、書き込みは10秒以内、ちょっと遅れて読み込みも復旧する。
もうすぐ1.0が出る?議論中。

■Treasure Data on The YARN
小林 隆(Treasure Data)

Hadoop, Hive, Pig
Impala, Presto
みんなカスタマイズして使ってる。
Hiveは0.12から0.13で大幅に変更されていて大変。
deprecated をすっ飛ばしてメソッドが消えていたりしてひどい。

QueueをMRv1の方とYARNのクラスタ両方に投げて検証している。

今のTreasure Data
・5,000 users
・6 trillion records
・12 million Jobs
・40,000 Job by day

YARN の設定は難しい。
→CDH, HDPの設定ファイルが使える!!

メモリ設定難しい。
設定のガイドツールがある。

初期ディレクトリ構成は?
→CDH, HDPのものが参考になる

Hadoop 2.2.0, 2.3.0 は使ってはいけない。
スケジューラがデッドロックする致命的なバグがあるため。

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

BigData用のインタラクティブSQL実行エンジン。

Facebookで開発された。
2013年にオープンソース化。

BIツールの裏側で直に使うには、HiveQLは遅すぎる。

Prestoを使えば、HDFS上のデータに対して直接Interactive クエリを投げられる。

Cassandra, MySQLなどのDBのデータと、HDFS上のデータとをJOINしたりもできる。

ただし、処理できるデータ量がメモリ上に乗る範囲に限られるので、HiveはやはりETLに必要。

Prestogres について。
1から作ると大変なODBC/JDBCドライバ。
Prestogresは、Postgresql のドライバを使って実行すると、Prestoのクエリに書き換えて実行するもの。

PrestoはMapReduceではない。
全てのtaskが平行に動く。
その代り、タスクが一つ死ぬと止まる。
メモリが溢れると終了。
だから実行できるクエリに制限がある。

Impalaとの違い。
Impalaの方が速い。
だが、Impalaと違って、プロセスが落ちたりしない。(!?)
メトリクスが豊富。運用しやすい。
拡張性が高い

※Prestoを使えば、Cassandra, MySQLなどのDBのデータと、HDFS上のデータとをJOINしたりもできます。
これは役立ちそう。
Prestogresのアイデアはすごいと思う。


 

長くなりました・・・。

講演資料は順次こちらに公開されるらしいので、
興味のあるものがあったらぜひ見に行ってください。

相変わらず進化が激しくて、
追いついていくのがやっとですが、
こういうイベントがあるとトレンドがわかるし、
他の人がどう使っているのかも知ることができ、とても助かります。

運営のみなさんに感謝です。
ありがとうございました!

Category: Tech | Tags: