spark杂记

来源:互联网 发布:网络直播平台列表 编辑:程序博客网 时间:2024/05/01 19:28
1.spark可以采用注册的方式将类序列化,在spark程序中,如果使用的第三方jar包的class没有序列化,可以用写一个MyRegistretor类,继承KryoRegistretor,重写其中的registerClass方法,将需要注册的类写入:
class HbaseRegistrator extends KryoRegistrator {
override def registerClasses(kryo: Kryo) {
kryo.register(classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable])
kryo.register(classOf[org.apache.hadoop.hbase.client.Result])
}
}
2.官网介绍的序列化方法:
http://spark.apache.org/docs/latest/tuning.html
val conf = new SparkConf().setMaster(...).setAppName(...)
conf.registerKryoClasses(Array(classOf[MyClass1], classOf[MyClass2]))
val sc = new SparkContext(conf)


spark参数优先度(顺序代表优先度高低):
1.通过类SparkContext设置的参数。
2.使用spark-submit or spark-shell的时候,设置在执行脚本的时候的参数,例如
./bin/spark-submit --class my.main.Class \    --master yarn-cluster \    --jars my-other-jar.jar,my-other-other-jar.jar    my-main-jar.jar    app_arg1 app_arg2
这类在spark-submit中的参数。
3.设置在spark-defaults.conf中的参数,个别运行参数设置在spark-env.sh

spark源码中文件:
./docs/_layouts/global.html中有详细的参数说明,这个文件要用ie打开


0 0