请选择 进入手机版 | 继续访问电脑版
楼主: hooli
6241 38

Learning Spark by Holden Karau O'Reilly [推广有奖]

bbyyss007 发表于 2016-8-11 08:25:54 |显示全部楼层 |坛友微信交流群
好书,好书。。。

使用道具

Nicolle 学生认证  发表于 2016-9-25 23:17:47 |显示全部楼层 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

Nicolle 学生认证  发表于 2016-9-25 23:18:48 |显示全部楼层 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

Nicolle 学生认证  发表于 2016-9-25 23:19:29 |显示全部楼层 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

Nicolle 学生认证  发表于 2016-9-25 23:20:27 |显示全部楼层 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

ReneeBK 发表于 2016-9-25 23:22:52 |显示全部楼层 |坛友微信交流群
  1. /**
  2. * Illustrates lack of caching
  3. */
  4. package com.oreilly.learningsparkexamples.scala

  5. import org.apache.spark._

  6. object BasicMapNoCache {
  7.     def main(args: Array[String]) {
  8.       val master = args.length match {
  9.         case x: Int if x > 0 => args(0)
  10.         case _ => "local"
  11.       }
  12.       val sc = new SparkContext(master, "BasicMapNoCache", System.getenv("SPARK_HOME"))
  13.       val input = sc.parallelize(List(1,2,3,4))
  14.       val result = input.map(x => x*x)
  15.       // will compute result twice
  16.       println(result.count())
  17.       println(result.collect().mkString(","))
  18.     }
  19. }
复制代码

使用道具

ReneeBK 发表于 2016-9-25 23:24:15 |显示全部楼层 |坛友微信交流群
  1. /**
  2. * Illustrates a simple map partition in Scala
  3. */
  4. package com.oreilly.learningsparkexamples.scala

  5. import org.apache.spark._

  6. import org.eclipse.jetty.client.ContentExchange
  7. import org.eclipse.jetty.client.HttpClient

  8. object BasicMapPartitions {
  9.     def main(args: Array[String]) {
  10.       val master = args.length match {
  11.         case x: Int if x > 0 => args(0)
  12.         case _ => "local"
  13.       }
  14.       val sc = new SparkContext(master, "BasicMapPartitions", System.getenv("SPARK_HOME"))
  15.       val input = sc.parallelize(List("KK6JKQ", "Ve3UoW", "kk6jlk", "W6BB"))
  16.       val result = input.mapPartitions{
  17.         signs =>
  18.         val client = new HttpClient()
  19.         client.start()
  20.         signs.map {sign =>
  21.           val exchange = new ContentExchange(true);
  22.           exchange.setURL(s"http://qrzcq.com/call/${sign}")
  23.           client.send(exchange)
  24.           exchange
  25.         }.map{ exchange =>
  26.           exchange.waitForDone();
  27.           exchange.getResponseContent()
  28.         }
  29.       }
  30.       println(result.collect().mkString(","))
  31.     }
  32. }
复制代码

使用道具

ReneeBK 发表于 2016-9-25 23:25:26 |显示全部楼层 |坛友微信交流群
  1. /**
  2. * Illustrates a simple map the filter in Scala
  3. */
  4. package com.oreilly.learningsparkexamples.scala

  5. import org.apache.spark._

  6. object BasicMapThenFilter {
  7.     def main(args: Array[String]) {
  8.       val master = args.length match {
  9.         case x: Int if x > 0 => args(0)
  10.         case _ => "local"
  11.       }
  12.       val sc = new SparkContext(master, "BasicMap", System.getenv("SPARK_HOME"))
  13.       val input = sc.parallelize(List(1,2,3,4))
  14.       val squared = input.map(x => x*x)
  15.       val result = squared.filter(x => x != 1)
  16.       println(result.collect().mkString(","))
  17.     }
  18. }
复制代码

使用道具

ReneeBK 发表于 2016-9-25 23:26:02 |显示全部楼层 |坛友微信交流群
  1. /**
  2. * Illustrates a simple map partition to parse CSV data in Scala
  3. */
  4. package com.oreilly.learningsparkexamples.scala

  5. import java.io.StringReader
  6. import java.io.StringWriter

  7. import org.apache.spark._
  8. import play.api.libs.json._
  9. import play.api.libs.functional.syntax._
  10. import scala.util.parsing.json.JSON
  11. import scala.collection.JavaConversions._

  12. import au.com.bytecode.opencsv.CSVReader
  13. import au.com.bytecode.opencsv.CSVWriter

  14. object BasicParseCsv {
  15.   case class Person(name: String, favouriteAnimal: String)

  16.   def main(args: Array[String]) {
  17.     if (args.length < 3) {
  18.       println("Usage: [sparkmaster] [inputfile] [outputfile]")
  19.       exit(1)
  20.     }
  21.     val master = args(0)
  22.     val inputFile = args(1)
  23.     val outputFile = args(2)
  24.     val sc = new SparkContext(master, "BasicParseCsv", System.getenv("SPARK_HOME"))
  25.     val input = sc.textFile(inputFile)
  26.     val result = input.map{ line =>
  27.       val reader = new CSVReader(new StringReader(line));
  28.       reader.readNext();
  29.     }
  30.     val people = result.map(x => Person(x(0), x(1)))
  31.     val pandaLovers = people.filter(person => person.favouriteAnimal == "panda")
  32.     pandaLovers.map(person => List(person.name, person.favouriteAnimal).toArray).mapPartitions{people =>
  33.       val stringWriter = new StringWriter();
  34.       val csvWriter = new CSVWriter(stringWriter);
  35.       csvWriter.writeAll(people.toList)
  36.       Iterator(stringWriter.toString)
  37.     }.saveAsTextFile(outputFile)
  38.   }
  39. }
复制代码

使用道具

ReneeBK 发表于 2016-9-26 00:10:12 |显示全部楼层 |坛友微信交流群
  1. /**
  2. * Illustrates a simple map the filter in Scala
  3. */
  4. package com.oreilly.learningsparkexamples.scala

  5. import org.apache.spark._

  6. object BasicMapThenFilter {
  7.     def main(args: Array[String]) {
  8.       val master = args.length match {
  9.         case x: Int if x > 0 => args(0)
  10.         case _ => "local"
  11.       }
  12.       val sc = new SparkContext(master, "BasicMap", System.getenv("SPARK_HOME"))
  13.       val input = sc.parallelize(List(1,2,3,4))
  14.       val squared = input.map(x => x*x)
  15.       val result = squared.filter(x => x != 1)
  16.       println(result.collect().mkString(","))
  17.     }
  18. }
复制代码

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 08:13