Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20151014 spark勉強会補足資料

691 views

Published on

この資料はDMMのビッグデータ収集のご紹介
~Kafka+HBase+SparkStreamingによる大規模情報収集解析~
(https://prezi.com/an2frel_xvyl/dmm/?utm_campaign=share&utm_medium=copy)
の補足資料です

Published in: Technology
  • Be the first to comment

20151014 spark勉強会補足資料

  1. 1. Spark勉強会補足資料 2015.10.14 CTO room: tanaka.yuichi
  2. 2. 補足資料 この資料は DMMのビッグデータ収集のご紹介 ~Kafka+HBase+SparkStreamingによる大規模情報収集解析~ (https://prezi.com/an2frel_xvyl/dmm/?utm_campaign=share&utm_medium=copy) の補足資料です
  3. 3. Kafkaの補足 API(Node.js) API(Node.js) Producer Broker Broker Kafka Zookeeper Zookeeper Zookeeper Broker Broker API(Node.js) SparkStreaming #partition SparkStreaming #partition Consumer SparkStreaming #partirion DMMでの今回の事例におけるKafkaとその周辺技術のマッピング
  4. 4. Kafkaの補足 Producer Kafka Consumer KafkaのTopicとConsumerGroupの関係 Topic:”tracking” Zookeeper Topic:”tracking” CG:”Streaming1” CG:”Streaming2” CG:”Flume1” Inputは一つ 一つのTopicから 複数のConsumer Topicから何処まで取得し たかはConsumerGroup毎 にZookeeperで管理
  5. 5. Sparkの補足:丁寧な説明 Apache Spark? 高速に大規模データ処理を行うエンジン
  6. 6. SparkCoreについての説明 Cluster Manager Yarn Mesos Data Source Stream HDFS
  7. 7. SparkRDDsの補足説明 SparkではRDDsという単位でデータを扱います。 val test = sc.textFile("/tmp/sample.txt") これRDD test.count このRDDに対して count take collect map filter といった処理を行います
  8. 8. SparkStreamingの補足説明 Tweet10 Tweet9 Tweet8 Tweet7 Tweet6 Tweet5 Tweet4 Tweet3 Tweet2 Tweet1 時間 DStream 1秒 DStream 2秒 DStream 3秒 DStream 4秒 DStream
  9. 9. HBaseの補足 Master Master HBase Zookeeper ZookeeperZookeeper ReagionServer Flume Flume Consumer Flume DMMでの今回の事例におけるHBaseとその周辺技術のマッピング ReagionServer ReagionServer ReagionServer ReagionServer ReagionServer
  10. 10. HBaseの補足 SparkStreaming #partition SparkStreaming #partition Consumer SparkStreaming #partirion HBaseのデータは RowKey,ColumnFamily,Column,Value,Timestampで構成され、 重要:RowKeyによってRegionServerに振り分けられる Master RegionServer2 RegionServer3 RegionServer RegionServer1 jp.co.dmm com.dmm com.r18
  11. 11. Kafka+Spark(ハマりどころ3の補足) SparkStreaming #partition SparkStreaming #partition Streaming SparkStreaming #partirion • SparkStreamingでは単位時間(BatchInterval)内で処理を終わらせる必要がある • 単位時間辺りに処理するデータ量の制御は重要 • SparkStreamingで用意されているInputは基本的にmaxRateで制御可能 Input ここの最大値(MaxRate)
  12. 12. HBaseの補足(ハマりどころ4の補足) SparkStreaming #partition SparkStreaming #partition Consumer SparkStreaming #partirion 【再掲】 HBaseのデータは RowKey,ColumnFamily,Column,Value,Timestampで構成され、 重要:RowKeyによってRegionServerに振り分けられる Master RegionServer2 RegionServer3 RegionServer RegionServer1 jp.co.dmm com.dmm com.r18
  13. 13. HBaseの補足(ハマりどころ4の補足) HBaseのRawKeyとReagionの関係 RegionServer2 RegionServer3 RegionServer RegionServer1 com.dmm.www_X jp.co.dmm.news_X com.dmm.p-town_X com.dmm.nikukai_X R1 R2 R3 R4 R5 jp.co.dmm.ip1_X jp.co.dmm.blog_X RowKey(RowKeyの範囲)に対して、Regionが分かれる
  14. 14. HBaseの補足(ハマりどころ4の補足) HBaseのRawKeyとReagionの関係 RegionServer2 RegionServer3 RegionServer RegionServer1 com.dmm.www_X jp.co.dmm.news_X com.dmm.p-town_X com.dmm.nikukai_X R1 R2 R3 R4 R5 jp.co.dmm.ip1_X jp.co.dmm.blog_X こいつらにアクセスが著しく偏る すると、書き込み先の殆どがこいつになる
  15. 15. 以上 2015.10.14 CTO room: tanaka.yuichi

×