Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Spark 소개 1부

7 853 vues

Publié le

Simple introduction of Spark in Korean

Publié dans : Ingénierie
  • Identifiez-vous pour voir les commentaires

Spark 소개 1부

  1. 1. Lightning-fast cluster computing
  2. 2. Problem 이런데가 있어요.
  3. 3. Problem 게다가 전 세계에 이런 게 퍼져있다고 합시다
  4. 4. ● 왜 저런 환경을 만들었을까? Problem
  5. 5. Problem
  6. 6. ● 이런 서비스를 저런 환경에서 돌릴라면 어떻 게 해야 해야 하지? o SQL도 돌려야 하고 o 실시간으로 데이타 흐름도 파악해야 하고 o 하다보면 그런저런 데이타 분석도 자동화 해야 하고 ….. Problem
  7. 7. Solution 공밀레 공밀레?
  8. 8. Solution MapReduce? ● 참고자료
  9. 9. 모든 일을 MapReduce화 하라! 근데 이런 SQL을 어떻 게 MapReduce로 만들 지? SELECT LAT_N, CITY, TEMP_F FROM STATS, STATION WHERE MONTH = 7 AND STATS.ID = STATION.ID ORDER BY TEMP_F;
  10. 10. 모든 일을 MapReduce화 하라! 이런 Machine learning/Data 분석 업 무는? “지난 2007년부터 매월 나 오는 전국 부동산 실거래가 정보에서 영향을 미칠 수 있 는 변수 140개중에 의미있 는 변수 5개만 뽑아.” “아, 마감은 내일이다.”
  11. 11. 코드도 이정도면 뭐? (단순히 단어 세는 코드가…) package org.myorg; import java.io.IOException; import java.util.*; import org.apache.hadoop.fs.Path; import org.apache.hadoop.conf.*; import org.apache.hadoop.io.*; import org.apache.hadoop.mapreduce.*; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.input.TextInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; public class WordCount { public static class Map extends Mapper<LongWritable, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) { word.set(tokenizer.nextToken()); context.write(word, one); } } } public static class Reduce extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } context.write(key, new IntWritable(sum)); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "wordcount"); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); job.setMapperClass(Map.class); job.setReducerClass(Reduce.class); job.setInputFormatClass(TextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.waitForCompletion(true); }
  12. 12. 근데 너 이 코드 저 서버실에 다 깔아야 한다.
  13. 13. 신도 울고 나도 울었다…..
  14. 14. 원래 세월이 가면 연장은 좋아지는 법
  15. 15. Spark등장 “그냥 있는 대로 일 주 세요. 처리는 제가 알 아서 할께요.”
  16. 16. SQL도 “그냥 있는 대로 일 주 세요. 처리는 제가 알 아서 할께요.”
  17. 17. 실시간 데이타 처리 “그냥 있는 대로 일 주 세요. 처리는 제가 알 아서 할께요.”
  18. 18. Machine learning도 “그냥 있는 대로 일 주 세요. 처리는 제가 알 아서 할께요.”
  19. 19. Generality High-level tool들 아래 에서 모든 일들을 있는 그대로 하게 해줍니다.
  20. 20. 쓰기 쉽습니다. Java, Scala, Python을 지원합니다. text_file = spark.textFile("hdfs://...") text_file.flatMap(lambda line: line.split()) .map(lambda word: (word, 1)) .reduceByKey(lambda a, b: a+b) Word count in Spark's Python API
  21. 21. 온갖 분산처리 환경에서 다 돌아갑니다. ● Hadoop, Mesos, 혼 자서도, Cloud에서 도 돌아요. ● HDFS, Cassandra, HBase, S3등에서 데이타도 가져올 수 있어요.
  22. 22. 속도도 빠릅니다. Hadoop MapReduce 를 Memory에서 올렸 을 때보다 100배, Disk 에서 돌렸을 때의 10배 빠릅니다. Logistic regression in Hadoop and Spark
  23. 23. 자체 Web UI까지 있어요….
  24. 24. Zeppelin 아예 Reporting tool까지… [Video]
  25. 25. Spark은 말이죠 ● Tool이에요, Library 아닙니다. o 이 Tool위에 하고 싶은 일들을 정의하고 o 실행시키는 겁니다.
  26. 26. Spark 설치하기 ● 일일이 말하기 귀찮아요. 아래 보세요. o 설치방법  http://bcho.tistory.com/1024 o 아예 Vagrant로 만들어 놨어요. 빌드도 다 해요.  https://bitbucket.org/JinhoYoo_Nomad Connection/spark_test_vm
  27. 27. 근데 이거 가지고 뭐할라고? 이런거 만들게요. http://engineering.vcnc.co.kr /2015/05/data-analysis-with- spark/
  28. 28. Line+게임보안 시스템 https://www.imaso.co. kr/news/article_view.p hp?article_idx=20150 519094003
  29. 29. Small demo
  30. 30. 오늘은 여기까지 다음번에 실체를 보여드릴께요. 질문!

×