注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

Resilient Distributed Datasets (RDDs)  

2014-12-28 12:32:06|  分类: Spark |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Spark 应用程序以RDD为中心。
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

1. Initializing Spark
val conf = new SparkConf().setAppName(appName).setMaster(master)
new SparkContext(conf)

appName : a name for your application to show on the cluster UI.
master :  a Spark, Mesos or YARN cluster URL, or a special “local” string to run in local mode.
In practice, when running on a cluster, you will not want to hardcode master in the program, but rather launch the application with spark-submit and receive it there. $ ./bin/spark-shell --master local[4] --jars code.jar

2. Parallelized Collections

val data = Array(1, 2, 3, 4, 5)
val distData = sc.parallelize(data)
distData.reduce((a, b) => a + b)

3. External Datasets
scala> val distFile = sc.textFile("data.txt")
distFile: RDD[String] = MappedRDD@1d4cee08

distFile.map(s => s.length).reduce((a, b) => a + b)

4. RDD Operations
4.1 基本操作

val lines = sc.textFile("data.txt")
val lineLengths = lines.map(s => s.length)
val totalLength = lineLengths.reduce((a, b) => a + b)
4.2 传递函数到Spark
object MyFunctions {
   def func1(s: String): String = { ... }
}
myRdd.map(MyFunctions.func1)
-----------------------------------------------------------
class MyClass {
   def func1(s: String): String = { ... }
   def doStuff(rdd: RDD[String]): RDD[String] = { rdd.map(func1) }
}
------------------------------------------------------------
class MyClass {
   val field = "Hello"
   def doStuff(rdd: RDD[String]): RDD[String] = { rdd.map(x => field + x) }
}
------------------------------------------------------------
def doStuff(rdd: RDD[String]): RDD[String] = {
  val field_ = this.field
  rdd.map(x => field_ + x)
}
5. Working with Key-Value Pairs
val lines = sc.textFile("data.txt")
val pairs = lines.map(s => (s, 1))
val counts = pairs.reduceByKey((a, b) => a + b)


  评论这张
 
阅读(455)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017