摘要: RDD操作闭包外部变量原则 RDD相关操作都需要传入自定义闭包函数(closure),如果这个函数需要访问外部变量,那么需要遵循一定的规则,否则会抛出运行时异常。闭包函数传入到节点时,需要经过下面的步骤: 注意:外部变量在闭包内的修改不会被反馈到驱动程序。 简而言之,就是通过网络,传递函数,然后执行 阅读全文
posted @ 2016-11-07 15:15 bonelee 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: Accumulator简介 Accumulator是spark提供的累加器,顾名思义,该变量只能够增加。 只有driver能获取到Accumulator的值(使用value方法),Task只能对其做增加操作(使用 +=)。你也可以在为Accumulator命名(不支持Python),这样就会在spa 阅读全文
posted @ 2016-11-07 15:09 bonelee 阅读(6119) 评论(1) 推荐(0) 编辑
摘要: 通过spark的action操作函数:collect函数可以提取出所有rdd里的数据项! 阅读全文
posted @ 2016-11-06 10:03 bonelee 阅读(6776) 评论(0) 推荐(0) 编辑
摘要: spark dirver本质是一个spark集群的驱动程序,你要调用spark集群的计算功能,必须要通过它! 然后,在tmp下放置一个文件tmp.txt,运行: ./bin/spark-submit my_example/test.py 即可看到效果! 注意:从根本上说,spark sumbit也是 阅读全文
posted @ 2016-11-05 19:21 bonelee 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 在Ubuntu下,安装ipython很简单: $sudo apt-get install ipython 在bash env中添加变量: 再次使用,已经是ipython了! 阅读全文
posted @ 2016-11-05 18:51 bonelee 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: 采用快排思路来做,上面的输出: 注意:k个元素未必是有序的! 阅读全文
posted @ 2016-11-03 09:01 bonelee 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 发现自己写起来很不顺手,得从最右边找出pivot元素是最方便的! 以最左边的元素作为pivot的代码,看到好多坑: 输出: partition有三种思路写法: 阅读全文
posted @ 2016-11-02 13:14 bonelee 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 通过spark为ES导入搜索数据 阅读全文
posted @ 2016-10-20 17:30 bonelee 阅读(6188) 评论(0) 推荐(0) 编辑
摘要: 静态成员变量不占用类的内存空间。 阅读全文
posted @ 2016-10-12 11:39 bonelee 阅读(1974) 评论(1) 推荐(0) 编辑
摘要: 重载函数的调用匹配,依次按照下列规则来判断: 精确匹配:参数匹配而不做转换,或者只是做微不足道的转换,如数组名到指针、函数名到指向函数的指针、T到const T; 提升匹配:即整数提升(如bool到int、char到int、short到int),float到double; 使用标准转换匹配:如int 阅读全文
posted @ 2016-10-12 10:07 bonelee 阅读(5000) 评论(0) 推荐(0) 编辑