scala api--org.apache.spark下的包了解

org.apache.spark.Accumulable

一种可以累加的数据类型---累加器

典型成员方法:

add(term:T):Unit

向累加器里面添加数据

merge(ter,:T):Unit

将两个累加器聚合


org.apache.spark.Accumulator

累加器,初始化由SparkContext#accumulator创建

scala> val accum = sc.accumulator(0)
accum: spark.Accumulator[Int] = 0

scala> sc.parallelize(Array(1, 2, 3, 4)).foreach(x => accum += x)
...
10/09/29 18:41:08 INFO SparkContext: Tasks finished in 0.317106 s

scala> accum.value
res2: Int = 10

org.apache.spark.Aggregator

case class Aggregator[K,V,C](createCombiner:(V)=>C,mergeValue:(C,V)=>C,mergeCombiners:(C,C)=>C)

用于聚合数据的一组函数

val createCombiner:(V)=>C创建聚合的初始值

val mergeValue:(C,V)=>C将新值添加到聚合结果中

val mergeCombiners:(C,C)=>合并来自多个mergeValue函数的输出


org.apache.spark.Partition

trait Partition extends Serializable

RDD的分区

org.apache.spark.HashPartition

class HashPartition extends Partition 借助java中的hashCode对象实现分区

java数组的hashCode是基于数组下标而非数组内容。

三个成员方法

def equals(other:Any):Boolean

def getPartition(key:Any):Int

def numPartition:Int


org.apache.spark. Logging

trait Logging extends AnyRef

日子特性类


org.apache.spark.SparkConf

class SparkConf extends Cloneable with Logging

spark应用的配置,通过键值对设置

注意一点:当SparkConf对象传递给Saprk后,就不能在修改了。Spark不支持运行时修改配置

创建:

new SparkConf().setMaster("local").setAppName("My app")

 


org.apache.spark.SparkContext

spark功能的主要入口点,SparkContext表示到Spark集群的连接,可以用于在该集群上创建rdd、累加器(Accumulators)和广播变量(Broadcast)。

每个JVM可能只有一个SparkContext是活动的。如果要创建新的SparkContex,需要先用stop()方法结束当前SparkContext

构造函数方法:

  1. 允许直接设置公共Spark属性的构造函数
new SparkContext(master:String,appName:String,sparkHome:String=null,jars:Seq[String]=Nil,enviroment:Map[String,String]=Map(),preferredNodeLocationData:Map[String,Set[SplitInfo]]=Map())

    2.设置spark的公共属性

new SparkContext(master:String,appName:String,conf:SparkConf)
/**
   * Alternative constructor that allows setting common Spark properties directly
   *
   * @param master Cluster URL to connect to (e.g. mesos://host:port, spark://host:port, local[4]).
   * @param appName A name for your application, to display on the cluster web UI
   * @param conf a [[org.apache.spark.SparkConf]] object specifying other Spark parameters
   */
  def this(master: String, appName: String, conf: SparkConf) =
    this(SparkContext.updatedConf(conf, master, appName))

方法:详情API

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君子慎独_诚意

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值