spark 初学

rdd有两种操作:transform, actions, transform是lazy设计,只有当有action作用在上面的时候,才会被计算,好处是降低资源消耗,坏处是每次action的时候,transform都要重新计算,解决的办法是讲transformed rdd做一个persist or cache操作,这样后续做action的时候,不会重新transform

 

闭包:不要涉及对本地变量的更新,在集群模式,结果是不确定的,如果需要修改共享变量,使用accumulator。

accumulator只能在driver program当中读取,在executor当中不能读取,只能更新。另外accumulator最好只在actions当中使用,保证在action当中只执行一次,在transform当中可能会执行多次。

 

连接mongodb

https://github.com/mongodb/mongo-hadoop

 下载

mongo-java-driver-2.14.2.jar

mongo-hadoop-spark-1.5.2.jar

安装pymongo-spark package

run:

spark-submit --jars /Users/huangfrieda/spark-1.6.1-bin-hadoop2.6/lib/mongo-hadoop-spark-1.5.2.jar  --driver-class-path /Users/huangfrieda/spark-1.6.1-bin-hadoop2.6/lib/mongo-java-driver-2.14.2.jar test_mongo.py 

 

 

转载于:https://www.cnblogs.com/gabrialrx/p/5687991.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值