- 博客(5)
- 收藏
- 关注
原创 spark - Serialization
序列化在分布式应用的性能中扮演着重要的角色。格式化对象缓慢,或者消耗大量的字节格式化,会大大降低计算性能。通常这是在spark应用中第一件需要优化的事情。Spark的目标是在便利与性能中取得平衡,所以提供2种序列化的选择。Java serialization 在默认情况下,Spark会使用Java的ObjectOutputStream框架对对象进行序列化,并且可以与任何实现java....
2018-04-30 12:24:57 365
原创 spark-shuffle
shuffle 操作Spark中的某些算子会触发一个名为shuffle的时间。Shuffle是spark一种重新分配数据的机制,便于不同分区之间进行分组。Shuffle都会涉及数据的序列化、磁盘IO 和 网络IO,使得Shuffle成为一种复杂而昂贵的操作。背景为理解Shuffle过程中发生什么,举个reduceByKey的例子。reduceByKey操作生产一个新的RDD,组
2018-04-16 23:00:26 332
原创 spark - RDD 持久化
spark作业中,对RDD进行action操作时,会根据血缘关系从头计算。如果RDD被计算多次,建议将RDD进行持久化,确保该RDD本身只被计算一次。scala> val res = sc.textFile("file:/opt/data/emp.txt").flatMap(_.split("\t")).map((_,1)).reduceByKey(_+_)res: org.apa...
2018-04-14 21:58:15 213
原创 spark - HistoryServer
spark会提供一个web ui,使用者可以通过此ui对查看作业的相关信息,例如:stages 和 tasks的调度、RDD使用内存情况、环境变量 以及 executors的运行信息。但是当作业执行完就没办法在查看相关的信息。但我们我可以通过Spark’s history server查看这些以及执行完毕的作业信息。1、如何开启?1.1、修改 spark-defaults.co
2018-04-08 21:12:04 256
原创 sparkSQL 访问mysql数据
1、如果使用spark-shell 操作,需要修改spark-defaults.conf 配置spark.executor.extraClassPath=/opt/software/hive/lib/mysql-connector-java-5.1.45-bin.jarspark.driver.extraClassPath=/opt/software/hive/lib/mysql-connecto...
2018-04-04 22:45:42 452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人