如何学习Spark API
展开全部
API向来不是用来学的,那就是一本字典,用哪个查哪个。比如你要是想搞ML这一块就翻翻MLlib的doc,里面有很多例子。当你确定需要用什么class的时候再去查API。
其实spark的核心就是RDD,只要你知道所有在RDD上的操作才会被运行在cluster上就好了。其他的和正常的编程没啥区别。至于API,真要学也就是扫一下目录看看都有啥class就行了,用的时候在深入。
如果你还是学不明白可能是以下几个原因:
1,编程能力不足。你是不是只会写example上的程序,最多也就是修改一点。如果没了example就完全不会写?没有思路?这是编程能力低下的表现。基本语法会了,spark的框架也不复杂,没道理写不出东西来。不一定多么高端,但起码能出东西。这只有可能是编程的技能点没点够。这个没有速成办法只能慢慢练。
2,scala没学会。当然,你可以用Python,Java或者R。但是我强烈推荐学scala,你要是真把Scala学会了,spark非常容易就上手了。为什么呢?因为所谓的API,RDD那一部分基本上就是复制了scala的API。spark的程序思想和scala完全一致。区别就是spark有个RDD,但是RDD和scala那堆collection结构的method基本上一模一样。解决这个问题的办法就是好好学一边scala,推荐看动物书系列的scala教程。scala这门语言算是程序语言中比较复杂难学的,但是如果你有不错的编程基础,学起来也不会太费劲。
3,对函数式语言的了解不足。用spark你不一定要会scala,会Java,Python甚至R都行。只是会了scala会比较方便。那么如果不会scala,那你就需要学函数式语言的思想。为什么这么说呢,因为RDD的操作有别于命令式语言。比如你有一个list,你想对每一行元素加一,命令式的做法就是loop,而函数式一个map就搞定了。如果你想在大数据领域有所建树,强烈建议你学一下函数式语言。无论是spark还是Hadoop MapReduce其实都是函数式的思想。
4,不知道怎么学spark。如果以上问题你都没有,你只是没有找到好的spark教程,那么推荐你看动物书的spark教程。动物书系列真的是码农的福音啊,我现在想学啥编程语言,首先找动物书。
其实spark的核心就是RDD,只要你知道所有在RDD上的操作才会被运行在cluster上就好了。其他的和正常的编程没啥区别。至于API,真要学也就是扫一下目录看看都有啥class就行了,用的时候在深入。
如果你还是学不明白可能是以下几个原因:
1,编程能力不足。你是不是只会写example上的程序,最多也就是修改一点。如果没了example就完全不会写?没有思路?这是编程能力低下的表现。基本语法会了,spark的框架也不复杂,没道理写不出东西来。不一定多么高端,但起码能出东西。这只有可能是编程的技能点没点够。这个没有速成办法只能慢慢练。
2,scala没学会。当然,你可以用Python,Java或者R。但是我强烈推荐学scala,你要是真把Scala学会了,spark非常容易就上手了。为什么呢?因为所谓的API,RDD那一部分基本上就是复制了scala的API。spark的程序思想和scala完全一致。区别就是spark有个RDD,但是RDD和scala那堆collection结构的method基本上一模一样。解决这个问题的办法就是好好学一边scala,推荐看动物书系列的scala教程。scala这门语言算是程序语言中比较复杂难学的,但是如果你有不错的编程基础,学起来也不会太费劲。
3,对函数式语言的了解不足。用spark你不一定要会scala,会Java,Python甚至R都行。只是会了scala会比较方便。那么如果不会scala,那你就需要学函数式语言的思想。为什么这么说呢,因为RDD的操作有别于命令式语言。比如你有一个list,你想对每一行元素加一,命令式的做法就是loop,而函数式一个map就搞定了。如果你想在大数据领域有所建树,强烈建议你学一下函数式语言。无论是spark还是Hadoop MapReduce其实都是函数式的思想。
4,不知道怎么学spark。如果以上问题你都没有,你只是没有找到好的spark教程,那么推荐你看动物书的spark教程。动物书系列真的是码农的福音啊,我现在想学啥编程语言,首先找动物书。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询