Strata + Hadoop World参加記録 その4
今日は自分的に楽しそうなセッションが盛りだくさんですね。メモはけっこう適当です。
Big Data at Netflix: Faster and Easier
- バックエンドにHDFSは使っておらずS3を利用している
- 400 Billion Events / Day
- ビデオの再生とかUIに対するアクションとか
- Data Platform(High level)
- Why Presto (vs. Alternatives)
- Spark
- 良い所
- 2013年から使ってるけど当時はイマイチだった
- 限定的な状態ではあるがproductionで使われている
- 関連プロダクトがぎゅっと集まっている
- パフォーマンス(Sparkは100倍といわれているがそこまでではない)
- コミュニティ
- 未来がありそう
- 悪い所
- まだ歴史が浅い
- マルチテナンシーがない
- shuffling
- ハイレベルなAPIのためチューニングがやや困難
- その他あれこれお
- 良い所
- Streaming Processing
- 一貫性と可用性
- LatencyとScaling
- Storm, Samza, Sparkとあるが何を選ぶべきか。。。
- Parquet
- カラムナ型
- Pig on TEZ
- Kafka
- suro
- druid
- genie
- inviz
- lipstick
- metacat
- Bigdataportl
Kragle
Netflixのculture
Culture from Reed Hastings
全てはカルチャーのなせる技な気がしました。
Tuning and Debugging in Apache Spark
席がうまく確保出来ず、メモを取る余裕もありませんでした。パーティションが大事、はとりあえず覚えているのでまた復習的な何かが必要ですね。あとは、やっぱりshuffleがきついのでここをいかに回避するかが一つのポイント、みたいな感じでしょうか?shuffleについては、この日の午後に一つセッションを設けて話されていました。
YARN vs. MESOS: Can’t We All Just Get Along?
MesosとYarnをmanageするMyriadの話でした。まだまだこれからのプロジェクトだと思いますが、MapRが主導していくとのことなので、個人的にはDrillのように急激に伸びてくるんだろうなぁと思っています。
Everyday I’m Shuffling - Tips for Writing Better Spark Programs
- shuffleの話:非効率化の原因
- driver or workerのどちらでデータを動かすか:エラーの原因
- Reduce By Key vs GroupByKeyの比較
- 結果は同じ
- reduceByKeyの方が効率的
- shuffleの問題から起きる
- shuffle前に同じキーで処理してからshuffleするのがreduceByKeyだから
- 大きなテーブルと小さなテーブルの結合(SpqrkSQL)
- shuffledHashJoin
- BroadcastHashJoin
- 小さな方のデータをBroadCastする
- How to Configure BroadcastHashJoin
- 1.2から設定できる。
- Set spark.sql.autoBroadcastJoinThreshold
- Join a Medium Table with a Huge Table
- Left Join
- ...
- Left Join
- shuffleの問題を見つける
- main programはDriverで実行
- transformはworkerで実行
- collect()を大きなRDDで呼ぶとOOMKillerで死ぬ
と、出来る限りメモリましたが、不完全なことこの上なく。。。同行者の方から、この手の話はgithub上にも公開されてるよー、と教えていただいたので合わせてshareです。
その他
今日はDatabricksとMapRのTシャツをゲット!Tシャツが累計10枚くらいになりました。。。
というわけで、長いようで短かったようなStrata出張終わりです。色々消化しきれていない部分を早く消化しないとなー、という感じです。余談ですが、Strataへの参加層として、中国人、インド人はすごく多そうでしたが、やはり日本からはほとんど参加されていないんですね。