Taste Java in the Clouds 朱仲傑 Jacky Chu
Agenda <ul><li>Evolution of computing with the network </li></ul><ul><li>What is Cloud Computing </li></ul><ul><li>Cloud C...
Evolution of Computing with the Network
Internet Services around the World
What is Cloud Computing <ul><li>松下問童子, </li></ul><ul><li>言師採藥去。 </li></ul><ul><li>只在此山中, </li></ul><ul><li>雲深不知處。 </li></u...
Cloud Computing is … <ul><li>Services and data in the cloud </li></ul><ul><li>Accessible with any device </li></ul><ul><li...
The Key Technical Issue for Developers is …
Cloud vs. Grid Cloud Computing Grid Computing Leading Service Provider Academic Circles Standard No Yes Open Source Partia...
Cloud Computing in the World
How to Develop a Cloud Application
MapReduce http://www.gridgainsystems.com/wiki/display/GG15UG/MapReduce+Overview Storage Database
MapReduce Map Reduce Data (Key1, Value) (Key2, Value) … (Key n, Value) (Key1, Value) (Key3, Value) … (Key m, Value) (Key2,...
Hadoop History Doug Cutting
Hadoop Overview HDFS
Map Class <ul><li>Extends MapReduceBase </li></ul><ul><li>Implements Mapper </li></ul><ul><ul><li><K1, V1, K2, V2> </li></...
Key Class <ul><li>org.apache.hadoop.io.WritableComparable </li></ul><ul><li>BooleanWritable, BytesWritable </li></ul><ul><...
Value Class <ul><li>org.apache.hadoop.io.Writable </li></ul><ul><li>Super Interface of WritableComparatable </li></ul><ul>...
Reduce Class <ul><li>Extends MapReduceBase </li></ul><ul><li>Implements Reducer </li></ul><ul><ul><li><K2, V2, K3, V3> </l...
Job Configuration <ul><li>org.apache.hadoop.mapred.JobConf </li></ul><ul><li>new JobConf(Class) </li></ul><ul><li>setJobNa...
Input/Output Format <ul><li>org.apache.hadoop.mapred.* </li></ul><ul><li>FileInputFormat </li></ul><ul><ul><li>setInputPat...
Run Job <ul><li>JobClient </li></ul><ul><ul><li>runJob(JobConf) </li></ul></ul>
DEMO
Who needs Cloud Computing <ul><li>ASP (Application Service Provider) </li></ul><ul><li>SaaS (Software as a Service) </li><...
The Key is …
References <ul><li>Google AppEngine </li></ul><ul><ul><li>http://code.google.com/appengine </li></ul></ul><ul><li>Hadoop <...
 
Upcoming SlideShare
Loading in...5
×

Taste Java In The Clouds

2,477

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,477
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Transcript of "Taste Java In The Clouds"

    1. 1. Taste Java in the Clouds 朱仲傑 Jacky Chu
    2. 2. Agenda <ul><li>Evolution of computing with the network </li></ul><ul><li>What is Cloud Computing </li></ul><ul><li>Cloud Computing in the world </li></ul><ul><li>How to develop a cloud application </li></ul><ul><li>Hadoop Overview </li></ul><ul><li>Your First Cloud Program </li></ul><ul><li>Who needs Cloud Computing </li></ul>
    3. 3. Evolution of Computing with the Network
    4. 4. Internet Services around the World
    5. 5. What is Cloud Computing <ul><li>松下問童子, </li></ul><ul><li>言師採藥去。 </li></ul><ul><li>只在此山中, </li></ul><ul><li>雲深不知處。 </li></ul><ul><li>尋隱者不遇 </li></ul><ul><li>唐 賈島 </li></ul>
    6. 6. Cloud Computing is … <ul><li>Services and data in the cloud </li></ul><ul><li>Accessible with any device </li></ul><ul><li>Connected to the cloud with a browser </li></ul>
    7. 7. The Key Technical Issue for Developers is …
    8. 8. Cloud vs. Grid Cloud Computing Grid Computing Leading Service Provider Academic Circles Standard No Yes Open Source Partial Fully Hardware PC Heterogeneous Characteristic Small data for each process A large number of repeat process Huge data for once process
    9. 9. Cloud Computing in the World
    10. 10. How to Develop a Cloud Application
    11. 11. MapReduce http://www.gridgainsystems.com/wiki/display/GG15UG/MapReduce+Overview Storage Database
    12. 12. MapReduce Map Reduce Data (Key1, Value) (Key2, Value) … (Key n, Value) (Key1, Value) (Key3, Value) … (Key m, Value) (Key2, Value) (Key3, Value) … (Key n, Value) (Key1, Value) (Key2, Value) (Key3, Value) … (Key m, Value) (Key n, Value)
    13. 13. Hadoop History Doug Cutting
    14. 14. Hadoop Overview HDFS
    15. 15. Map Class <ul><li>Extends MapReduceBase </li></ul><ul><li>Implements Mapper </li></ul><ul><ul><li><K1, V1, K2, V2> </li></ul></ul><ul><ul><li><WritableComparable, Writable, WritableComparable, Writable> </li></ul></ul><ul><li>map </li></ul><ul><ul><li>K1, V1 </li></ul></ul><ul><ul><li>OutputCollector<K2, V2> </li></ul></ul><ul><ul><li>Reporter </li></ul></ul>
    16. 16. Key Class <ul><li>org.apache.hadoop.io.WritableComparable </li></ul><ul><li>BooleanWritable, BytesWritable </li></ul><ul><li>IntWritable, LongWritable </li></ul><ul><ul><li>VIntWritable, VLongWritable </li></ul></ul><ul><li>FloatWritable </li></ul><ul><li>Text, UTF8 </li></ul><ul><li>NullWritable </li></ul>
    17. 17. Value Class <ul><li>org.apache.hadoop.io.Writable </li></ul><ul><li>Super Interface of WritableComparatable </li></ul><ul><li>ArrayWritable, MapWritable </li></ul><ul><li>ObjectWritable </li></ul>
    18. 18. Reduce Class <ul><li>Extends MapReduceBase </li></ul><ul><li>Implements Reducer </li></ul><ul><ul><li><K2, V2, K3, V3> </li></ul></ul><ul><ul><li><WritableComparable, Writable, WritableComparable, Writable> </li></ul></ul><ul><li>reduce </li></ul><ul><ul><li>K2, Iterator<V2> </li></ul></ul><ul><ul><li>OutputCollector<K3, V3> </li></ul></ul><ul><ul><li>Reporter </li></ul></ul>
    19. 19. Job Configuration <ul><li>org.apache.hadoop.mapred.JobConf </li></ul><ul><li>new JobConf(Class) </li></ul><ul><li>setJobName(String) </li></ul><ul><li>setMapperClass(Class <? extends Mapper>) </li></ul><ul><li>setCombinerClass(Class <? extends Reducer>) </li></ul><ul><li>setReducerClass(Class <? extends Reducer>) </li></ul><ul><li>setInputFormat(Class <? extends InputFormat>) </li></ul><ul><li>setOutputFormat(Class <? extends OutputFormat>) </li></ul>
    20. 20. Input/Output Format <ul><li>org.apache.hadoop.mapred.* </li></ul><ul><li>FileInputFormat </li></ul><ul><ul><li>setInputPath(JobConf, Path ... ) </li></ul></ul><ul><ul><li>The array of Path s </li></ul></ul><ul><ul><li>org.apache.hadoop.fs.Path </li></ul></ul><ul><li>FileOutputFormat </li></ul><ul><ul><li>setOutputPath(JobConf, Path) </li></ul></ul>
    21. 21. Run Job <ul><li>JobClient </li></ul><ul><ul><li>runJob(JobConf) </li></ul></ul>
    22. 22. DEMO
    23. 23. Who needs Cloud Computing <ul><li>ASP (Application Service Provider) </li></ul><ul><li>SaaS (Software as a Service) </li></ul><ul><li>PaaS (Platform as a Service) </li></ul>
    24. 24. The Key is …
    25. 25. References <ul><li>Google AppEngine </li></ul><ul><ul><li>http://code.google.com/appengine </li></ul></ul><ul><li>Hadoop </li></ul><ul><ul><li>http://hadoop.apache.org </li></ul></ul><ul><li>Amazon Web Services </li></ul><ul><ul><li>http://aws.amazon.com </li></ul></ul><ul><li>Windows Azure </li></ul><ul><ul><li>http://www.microsoft.com/azure/default.mspx </li></ul></ul>
    1. A particular slide catching your eye?

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

    ×