package com.shufang.spark_rdd
import com.esotericsoftware.kryo.kryo
import org.apache.spark.rdd.rdd
import org.apache.spark.serializer.kryoregistrator
import org.apache.spark.
import scala.collection.mutable.arraybuffer
import scala.util.random
/** * kryo序列化
* 1.可以在spark-default.conf指定 -> spark.serializer org.apache.spark.serializer.kryoserializer
* 2.可以通過命令列spark-submit --conf "spark.serializer" = "org.apache.spark.serializer.kryoserializer"指定
* 3.可以在**中通過 new sparkconf().set("spark.serializer","org.apache.spark.serializer.kryoserializer")指定
* .set("spark.kryo.registrationrequired ","true")
* 如果需要序列化的物件很大、需要指定 spark.kryoserializer.buffer = 64k或者更大一些
* 優先順序 : 2 > 3 > 1
* * 【需要參考詳細文件的話,請上spark的官網!tuning 調優文件】
*/object testkryo
val prdd = sc.parallelize(peoples, 6)
println(prdd.collect().mkstring("\n"))
sc.stop()
}}class people
/* 方式四
*/class mykryoregist extends kryoregistrator
}
在Spark中盡量少使用GroupByKey函式
為什麼建議盡量在spark 中少用groupbykey,讓我們看一下使用兩種不同的方式去計算單詞的個數,第一種方式使用reducebykey 另外一種方式使用groupbykey,如下 01 user 過往記憶 02 date 2015 05 18 03 time 下午22 26 06 過往記憶部落...
在Spark中使用IPython Notebook
ipython notebook現已更名為jupyter notebook,是一種互動式的筆記本,是可以用來重建和分享包含動態 等式 視覺化和解釋文字的文件的web程式。spark提供了python直譯器pyspark,可以通過ipython notebook將spark的pyspark以筆記本這種...
Spark中Accumulator的使用
accumulator簡介 accumulator是spark提供的累加器,顧名思義,該變數只能夠增加。只有driver能獲取到accumulator的值 使用value方法 task只能對其做增加操作 使用 你也可以在為accumulator命名 不支援python 這樣就會在spark web ...