Hadoop
•   sasata299 (         )
•   Hadoop
•        NoSQL
•

•   http://blog.livedoor.jp/sasata299/
Hadoop

•   Google   MapReduce   OSS
•

•

•

•
•   Hadoop
•        Hadoop
•

•                 &   !?
•   Hadoop
•        Hadoop
•

•                 &   !?
896
30         3   1
896
30         3   1
896
30             3   1




           ”           ”
GROUP BY     !!




                   MySQL
(   3.5   )
GROUP BY     !!




                   MySQL
(   3.5   )




          7000
                           ≒292   ……orz
MySQL
…
※
!?
Hadoop
…
7000
 30
•   Hadoop
•        Hadoop
•

•                 &   !?
Hadoop
•   Hadoop Streaming
•         Ruby
•   Cloudera     CDH1           (0.18.3)
•   EC2   Hadoop
•                  10...
Hadoop
•   Hadoop Streaming
•         Ruby
•   Cloudera     CDH1           (0.18.3)
•   EC2   Hadoop
•                  10...
○○
××


○○
××
Hadoop
Hadoop   AWS
Hadoop
Hadoop




         Hadoop
            (EC2)
hadoop-ec2 push [cluster] mapper.rb
hadoop-ec2 push [cluster] reducer.rb




                                       Hadoop...
hadoop-ec2 push [cluster] mapper.rb
hadoop-ec2 push [cluster] reducer.rb




                                       Hadoop...
Hadoop

           hadoop-ec2 exec [cluster] [command]




Hadoop                                      S3
   (EC2)
Hadoop

           hadoop-ec2 exec [cluster] [command]




Hadoop                                      S3
   (EC2)
Hadoop

           hadoop-ec2 exec [cluster] [command]




Hadoop                                      S3
   (EC2)
Hadoop

           hadoop-ec2 exec [cluster] [command]




Hadoop                                      S3
   (EC2)
S3
S3
Hadoop




         Hadoop
            (EC2)
Hadoop
!!
Hadoop
1)
2) Hadoop
3)
•   Hadoop
•        Hadoop
•

•                 &   !?
target_ids # [21310,12902,15321,..]

ARGF.each do |log|
  log.chomp!
  id, foo, bar, ... = log.split(/,/)
  next if target...
:-)
#      1000
hash = Hash.new {|h,k| h[k] = []}
target_ids.each do |_id|
  hash[_id.to_s[0,3]] << _id
end

ARGF.each do |log...
Mapper
Reducer
 - Mapper
 -


     Reducer
•   Hadoop
•        Hadoop
•

•                 &   !?
EC2
 -> AZ
 ->


            JobTracker
 -> 50030
 -> hadoop job -list
10h          8h
      JobTracker
!?
Amazon Elastic MapReduce
Elastic MapReduce
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
マーケティングのためのHadoop利用
Upcoming SlideShare
Loading in...5
×

マーケティングのためのHadoop利用

8,072

Published on

6/4に行われた「クックパッド・PFI共同勉強会」で使った資料です。togetterはこちら。 http://togetter.com/li/26756

Published in: Technology, Health & Medicine
0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,072
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
200
Comments
0
Likes
20
Embeds 0
No embeds

No notes for slide















































































  • マーケティングのためのHadoop利用

    1. 1. Hadoop
    2. 2. • sasata299 ( ) • Hadoop • NoSQL • • http://blog.livedoor.jp/sasata299/
    3. 3. Hadoop • Google MapReduce OSS • • • •
    4. 4. • Hadoop • Hadoop • • & !?
    5. 5. • Hadoop • Hadoop • • & !?
    6. 6. 896 30 3 1
    7. 7. 896 30 3 1
    8. 8. 896 30 3 1 ” ”
    9. 9. GROUP BY !! MySQL ( 3.5 )
    10. 10. GROUP BY !! MySQL ( 3.5 ) 7000 ≒292 ……orz
    11. 11. MySQL
    12. 12. … ※
    13. 13. !?
    14. 14. Hadoop
    15. 15.
    16. 16. 7000 30
    17. 17. • Hadoop • Hadoop • • & !?
    18. 18. Hadoop • Hadoop Streaming • Ruby • Cloudera CDH1 (0.18.3) • EC2 Hadoop • 10-50 • Hadoop S3
    19. 19. Hadoop • Hadoop Streaming • Ruby • Cloudera CDH1 (0.18.3) • EC2 Hadoop • 10-50 • Hadoop S3
    20. 20. ○○ ×× ○○ ××
    21. 21. Hadoop
    22. 22. Hadoop AWS
    23. 23. Hadoop
    24. 24. Hadoop Hadoop (EC2)
    25. 25. hadoop-ec2 push [cluster] mapper.rb hadoop-ec2 push [cluster] reducer.rb Hadoop (EC2)
    26. 26. hadoop-ec2 push [cluster] mapper.rb hadoop-ec2 push [cluster] reducer.rb Hadoop (EC2)
    27. 27. Hadoop hadoop-ec2 exec [cluster] [command] Hadoop S3 (EC2)
    28. 28. Hadoop hadoop-ec2 exec [cluster] [command] Hadoop S3 (EC2)
    29. 29. Hadoop hadoop-ec2 exec [cluster] [command] Hadoop S3 (EC2)
    30. 30. Hadoop hadoop-ec2 exec [cluster] [command] Hadoop S3 (EC2)
    31. 31. S3
    32. 32. S3
    33. 33. Hadoop Hadoop (EC2)
    34. 34. Hadoop
    35. 35. !!
    36. 36. Hadoop
    37. 37. 1) 2) Hadoop 3)
    38. 38. • Hadoop • Hadoop • • & !?
    39. 39. target_ids # [21310,12902,15321,..] ARGF.each do |log| log.chomp! id, foo, bar, ... = log.split(/,/) next if target_ids.include?(id) end target_ids 5 …
    40. 40. :-)
    41. 41. # 1000 hash = Hash.new {|h,k| h[k] = []} target_ids.each do |_id| hash[_id.to_s[0,3]] << _id end ARGF.each do |log| log.chomp! id, foo, bar, ... = log.split(/,/) # next if hash[id[0,3]].include?(id) end
    42. 42. Mapper Reducer - Mapper - Reducer
    43. 43. • Hadoop • Hadoop • • & !?
    44. 44. EC2 -> AZ -> JobTracker -> 50030 -> hadoop job -list
    45. 45. 10h 8h JobTracker
    46. 46. !?
    47. 47. Amazon Elastic MapReduce
    48. 48. Elastic MapReduce
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×