请问下学Spark的厦门美图公司门槛高吗吗?

后使用快捷导航没有帐号?
查看: 1124|回复: 7
学习spark,必须要会python吗?
中级会员, 积分 427, 距离下一级还需 73 积分
论坛徽章:22
spark支持python语言, 听周围很多人说,搞大数据必须要精通和python.估计又要好几个月的时间学了
金牌会员, 积分 2300, 距离下一级还需 700 积分
论坛徽章:17
使用spark,最好还是学会使用scala
中级会员, 积分 294, 距离下一级还需 206 积分
论坛徽章:6
没有必要。。。。。。。。。。。。
高级会员, 积分 595, 距离下一级还需 405 积分
论坛徽章:7
搞大数据基本上linux是必须学好的了, linux上现在python很流行,但是不是必须学的
高级会员, 积分 595, 距离下一级还需 405 积分
论坛徽章:7
学spark还是用scala更好一点,不过要有心里准备,scala可不好学哦
中级会员, 积分 398, 距离下一级还需 102 积分
论坛徽章:51
对于consumer而言,它需要保存消费消息的offset,对于offset的保存和使用,有consumer来控制;当consumer正常消费消息时,offset将会&线性&的向前驱动,即消息将依次顺序被消费.事实上consumer可以使用任意顺序消费消息,它只需要将offset重置为任意值..(offset将会保存在zookeeper中,参见下文)
论坛徽章:16
python对spark的技术资料视乎比较少,还是用scala吧,但是不是应该首先学scala啊,我们做作业时,感觉是临时抱佛脚去找scala的语法和函数,这总感觉力不从心
中级会员, 积分 233, 距离下一级还需 267 积分
论坛徽章:4
最好是会scala&&python与java都有API
扫一扫加入本版微信群25136人阅读
Spark(9)
Spark已经定义好了一些基本的transformation 和 action的操作,下面我们一探究竟。
实例开发:
val rdd = sc.parallelize(List(1,2,3,4,5,6)) &
val mapRdd = rdd.map(_*2) &//这是典型的函数式编程
mapRdd.collect() &//上面的map是transformation,到了这里的collect才开始执行,是action,返回一个Array & &Array(2,4,6,8,10,12)
val filterRdd = mapRdd.filter(_ & 5)
filterRdd.collect() //返回所有大于5的数据的一个Array, Array(6,8,10,12)
val rdd = sc.textFile(&/xxx/sss/ee&)
rdd.count //计算行数
rdd.cache & //可以把rdd保留在内存里面
rdd.count //计算行数,但是因为上面进行了cache,这里速度会很快
val wordcount = rdd.flatMap(_.split(' ')).map((_, 1)).reduceByKey(_+_) &//把每一行进行根据空格分割,然后flatMap会把多个list合并成一个list,最后把每个元素变成一个元组
//然后把具有相同key的元素的value进行相加操作,参考上面图片中的函数定义,针对reduceByKey,传入的函数是对value进行操作的。
wordcount.saveAsTextFile(&/xxx/ss/aa&) & //把结果存入文件系统
wordcount.collect //可以得到一个数组
val rdd1 = sc.parallelize(List(('a',1),(‘a’, 2)))
val rdd2 = sc.parallelize(List(('b',1),(‘b’, 2)))
val result_union = rdd1 union rdd2 //结果是把两个list合并成一个,List(('a',1),(‘a’, 2),('b',1),(‘b’, 2))
val rdd1 = sc.parallelize(List(('a',1),(‘a’, 2), ('b', 3)))
val rdd2 = sc.parallelize(List(('a',4),(‘b’, 5)))
val result_union = rdd1&join&rdd2 //结果是把两个list做笛卡尔积,Array(('a', (1,4), ('a', (2,4),&('b', (3, 5)))
val rdd = sc.parallelize(List(1,2,3,4))
rdd.reduce(_+_) //reduce是一个action,这里的结果是10
val rdd = sc.parallelize(List(('a',1),(‘a’, 2),('b',1),(‘b’, 2))
rdd.lookup(&a&) //返回一个seq, (1, 2) 是把a对应的所有元素的value提出来组成一个seq
val wordcount = rdd.flatMap(_split(' ')).map(_,1).reduceByKey(_+_).map(x =& (x._2, x._1)).sortByKey(false).map(x =& (x._2, x._1))
//其实完成了一个sort by value的过程, sortByKey(false),表示倒序排列
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:426684次
积分:4499
积分:4499
排名:第6290名
原创:74篇
转载:39篇
评论:82条
(1)(3)(2)(2)(1)(3)(2)(2)(7)(3)(1)(3)(1)(1)(9)(14)(1)(1)(3)(10)(5)(2)(1)(8)(11)(13)(3)

我要回帖

更多关于 门槛高 的文章

 

随机推荐