摘要: DAGSchedulerEventProcessLoop 源码 上面的eventLoop是事件循环器典型的代码,可以直接应用到自己项目产品中。 阅读全文
posted @ 2018-03-19 11:59 yimison 阅读(223) 评论(0) 推荐(0) 编辑
摘要: rdd的mapPartitions是map的一个变种,它们都可进行分区的并行处理。 两者的主要区别是调用的粒度不一样:map的输入变换函数是应用于RDD中每个元素,而mapPartitions的输入函数是应用于每个分区。 假设一个rdd有10个元素,分成3个分区。如果使用map方法,map中的输入函 阅读全文
posted @ 2018-03-16 16:38 yimison 阅读(575) 评论(0) 推荐(0) 编辑
摘要: spark map reduce 原理图 截图自:《深入理解spark核心思想和源码分析》 阅读全文
posted @ 2018-03-11 16:09 yimison 阅读(151) 评论(0) 推荐(0) 编辑
摘要: spark streaming task 序列化源码 1.入口 2.RDD.scala foreachPartition 代码逻辑 3.SparkContext runJob 代码逻辑 4.DAGScheduler runJob 代码逻辑 5.DAGSchedulerEventProcessLoop 阅读全文
posted @ 2018-03-08 17:47 yimison 阅读(416) 评论(0) 推荐(0) 编辑
摘要: Scala中的None,Nothing,Null,Nil 在scala中这四个类型名称很类似,作用确实完全不同的。 None是一个object,是Option的子类型,定义如下 case object None extends Option[Nothing] { def isEmpty = true 阅读全文
posted @ 2018-03-08 11:57 yimison 阅读(276) 评论(0) 推荐(0) 编辑
摘要: spark streaming 程序设置jvm参数 spark streaming 程序设置jvm参数,比如添加jconsole 远程连接参数: 完整例子 阅读全文
posted @ 2018-03-07 18:41 yimison 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 为什么spark streaming 程序一直打印Added jobs for time *** ms 而不执行job 问题截图: 答案截图: stackoverflow 上面的答案:https://stackoverflow.com/questions/36281665/continuously- 阅读全文
posted @ 2018-02-27 22:00 yimison 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 使用kafka-console-producer.sh --broker-list localhost:9092 --topic test 发送消息时报了错误: 错误是说没有分区元数据,搞不清楚是什么回事,之后查了一下,stackoverflow 有帖子说要删zookeeper 和kafka的数据目 阅读全文
posted @ 2018-01-24 16:23 yimison 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: vi /etc/profile 在profile 文件最后一行加入命令: export SPARK_SSH_OPTS="-p 7315" #注:7315 是ssh 端口 阅读全文
posted @ 2018-01-23 15:33 yimison 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕 阅读全文
posted @ 2018-01-16 14:16 yimison 阅读(589) 评论(0) 推荐(0) 编辑