GG资源网

哪些spark大数据开发的实例可以用来快速入门?(Spark适用于以下哪些场景)

感谢邀请,我也是Java出身,给你分享一点个人经验,希望能帮到你。下面给你分享一个实例!

下面我们基于该文件进行 Spark Shell 操作。

1)利用本地文件系统的一个文本文件创建一个新 RDD。

scala>var textFile = sc.textFile(“file://home/Hadoop/SparkData/WordCount/text1”);

textFile:org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at

<console>:12

2)执行动作操作,计算文档中有多少行。

scala>textFile.count() //RDD中有多少行

17/05/17 22:59:07 INFO spark.SparkContext:Job finished:count at<console>:15, took 5.654325469 s

resl:Long = 2

返回结果表明文档中有“2”行。

3)执行动作操作,获取文档中的第一行内容。

scala>textFile.first() // RDD 第一行的内容

17/05/17 23:01:25 INFO spark.SparkContext:Job finished:first at <console>:15,took

返回结果表明文档的第一行内容是“hello world”。

4)转换操作会将一个 RDD 转换成一个新的 RDD。获取包含“hello”的行的代码如下。

scala>var newRDD = textFile.filter (line => line.contains(“hello”)) //有多少行含有 hello

scala>newRDD.ount() // 有多少行含 hello

17/05/17 23:06:33 INFO spark.SparkContext:Job finished:count at <console>:15,took 0.867975549 s

res4:Long = 2

这段代码首先通过转换操作 filter 形成一个只包括含有“hello”的行的 RDD,然后再通过 count 计算有多少行。

5)Spark Shell 的 WordCount 实现

scala> val file = sc.textFile (“file://home/hendoop/SparkData/WordCount/text1”));

scala> val count = file.flatMap(line=>line.split(“”)).map(word => (word,1)).reduceByKey(_+_)

scala> count.collect()

17/05/17 23:11:46 INFO spark.SparkContext:Job finished: collect at<console>:17,

took 1.624248037 s

res5: Array[(String, Int)] = Array((hello,2),(world,1),(My,1),(is,1),(love,1),(I,1),(John,1),(hadoop,1),(name,1),(programming,1))

使用 sparkContext 类中的 textFile() 读取本地文件,并生成 MappedBJDD。

使用 flatMap() 方法将文件内容按照空格拆分单词,拆分形成 FlatMappedRDD。

使用 map(word=>(word,1)) 将拆分的单词形成 <单词,1> 数据对,此时生成 MappedBJDD。

使用 reduceByKey() 方法对单词的频度进行统计,由此生成 ShuffledRDD,并由 collect 运行作业得出结果。

#####

这个问题我应该可以回答,零基础学习spark,因为项目需要,硬着头皮上了,先占坑。

这几天刚好被这货折腾得死去活来的,晚上来答一发。

背景:某文科出长的三流985的cs专业本科,现大三,即将升大四,成绩刚好够保研,已放弃,准备找工作。大一,大二因为活跃于校内各社团,成绩并不是很好,并且,尤其重要的是代码能力很渣。

大三才开始真正接触编程。

交代背景只是想让看到这个答案的朋友具有更好的借鉴意义。

接触 Spark 是因为老师的一个和企业合作的项目需要用到,真正开始接触 Spark到现在也不过一个多月,不过确实学习到了非常多的东西。

1、首先,搭环境一定是必须的啦,答主当时搭环境,前前后后就折腾了一个星期,linux,linux不懂,各种奇怪的命令,当时折腾linux命令的时候心中一万只草泥马奔腾而过,权限的各种奇奇怪怪的问题,跟着网上的教程来做还会出错更是伤心。但是经历这个初始的环境折腾之后,你最基础的linux命令至少会了,环境搭建过程中的各种配置文件坑爹问题,经历你的各种搜索之后,你也可以大概知道各种配置文件的作用,这有助于你后面程序出错的时候查找错误。

2、环境搭建好之后,因为项目的关系,你开始要编程了,但是Spark啥也不懂怎么办啊。

没关系,先搭好开发环境。搭好后得看你的项目需求了。根据你的项目需求来思考学习方向。

3、我的项目需求大概是,从mongoDB读取数据,进行简单的计算之后丢回mongoDB里去。

3.1 先搜索Spark如何连接mongoDB,根据我当时的情况,我记得使用某度搜索,关键词 Spark和mongoDB基本是没啥有用的东西的,所以,这个时候,题主需要学会科学上网,这种比较新的东西,靠某度是没啥用的,该飞越的时候还是要飞越的,mongo-hadoop-core。

3.2 连接好了之后,不懂 Scala怎么办,这个根本不是问题,首先,Spark基本是RDD之间的转化操作,就map,split等几个东西而已,剩下的只要大概懂最基本的语法就可以了(默认题主懂C语言),我们暂时不需要scala高级功能。你要是考我语法特性啥的,答主只能说,臣妾做不到啊。

3.3 项目新出了一个坑爹要求啊,要求将计算好的数据同时送到MySQL啊,简直坑爹有木有,有木有。抱怨归抱怨,程序还是要好好做的。当时国内某度依然搜索不到任何资料,又飞越了长城,这个问题我应该可以回答,零基础学习spark,因为项目需要,硬着头皮上了,先占坑。

这几天刚好被这货折腾得死去活来的,晚上来答一发。

背景:某文科出长的三流985的cs专业本科,现大三,即将升大四,成绩刚好够保研,已放弃,准备找工作。大一,大二因为活跃于校内各社团,成绩并不是很好,并且,尤其重要的是代码能力很渣。

大三才开始真正接触编程。

交代背景只是想让看到这个答案的朋友具有更好的借鉴意义。

接触 Spark 是因为老师的一个和企业合作的项目需要用到,真正开始接触 Spark到现在也不过一个多月,不过确实学习到了非常多的东西。

1、首先,搭环境一定是必须的啦,答主当时搭环境,前前后后就折腾了一个星期,linux,linux不懂,各种奇怪的命令,当时折腾linux命令的时候心中一万只草泥马奔腾而过,权限的各种奇奇怪怪的问题,跟着网上的教程来做还会出错更是伤心。但是经历这个初始的环境折腾之后,你最基础的linux命令至少会了,环境搭建过程中的各种配置文件坑爹问题,经历你的各种搜索之后,你也可以大概知道各种配置文件的作用,这有助于你后面程序出错的时候查找错误。

2、环境搭建好之后,因为项目的关系,你开始要编程了,但是Spark啥也不懂怎么办啊。

没关系,先搭好开发环境。搭好后得看你的项目需求了。根据你的项目需求来思考学习方向。

3、我的项目需求大概是,从mongoDB读取数据,进行简单的计算之后丢回mongoDB里去。

3.1 先搜索Spark如何连接mongoDB,根据我当时的情况,我记得使用某度搜索,关键词 Spark和mongoDB基本是没啥有用的东西的,所以,这个时候,题主需要学会科学上网,这种比较新的东西,靠某度是没啥用的,该飞越的时候还是要飞越的,mongo-hadoop-core。

3.2 连接好了之后,不懂 Scala怎么办,这个根本不是问题,首先,Spark基本是RDD之间的转化操作,就map,split等几个东西而已,剩下的只要大概懂最基本的语法就可以了(默认题主懂C语言),我们暂时不需要scala高级功能。你要是考我语法特性啥的,答主只能说,臣妾做不到啊。

3.3 项目新出了一个坑爹要求啊,要求将计算好的数据同时送到MySQL啊,简直坑爹有木有,有木有。抱怨归抱怨,程序还是要好好做的。当时国内某度依然搜索不到任何资料,又飞越了长城,发现Spark的新版本有个新功能,insertIntoJDBC,结果这货也是个坑啊,哎,发现它不会自己关闭,插入数据较多的之后,MySQL连接池不够用啊,而且这货根据最新版Spark官方文档,已经被废弃了,因此自己写了一个使用scala连接到MySQL的类(和java连接MySQL差不多)。

4、是的,你没猜错,我又遇到坑问题了。这个问题已经折腾两三天了,暂时还没解决,希望各位前辈,能够指点一点。

坑问题描述:

开发机环境,一个master,一个salve,程序不管是local模式还是standalone模式都运行正常。

服务器环境,一个master,两个slave,程序在local模式下运行正确,standalone模式抛出java.lang.IllegalStateException open错误。目前有较大的可能性,是在连接mongodb进行查询操作的时候,前面一个操作完之后直接关闭了连接,而后一个操作还没操作完造成的错误。具体问题描述请看这里mongodb - Spark on standalone cluster throws java.lang.illegalStateException

上面这个问题已经解决了,是因为mongo-hadoop-core版本支持的问题。而最关键的是我没有清理编译器的缓存,这也导致了,即使一开始我知道是connector版本可能有问题,也没有解决,这也导致了我多花费了好几天来搞了这个问题,但是,这次的经历让我对如何查找错误,如何解决问题,有了更深刻的体会。

强烈建议题主找一个实际项目做!

强烈建议题主找一个实际项目做!

强烈建议题主找一个实际项目做!

实在没办法,自己想一个需求,比如写个程序,随便找个地抓取一堆数据,然后用Spark来分析数据。知乎有很多如何抓取数据的好问题和好回答,题主可以自行搜索。

最后,提醒题主一句话,Spark并不是一颗银弹。

估计有人会奇怪,答主说自己编程能力弱还敢搞这个东西,首先我这么有信心的原因是我大二暑假去一个小公司实习,该公司需要有人做iOS,然后直接丢给我,答主当时,mac啥的,objective-c啥的也不懂,但是没关系,随便买两本书,大概看一下语法,做了书本几个相关的简单例子就可以实际操作了,最后还是做成功了,虽然代码有点乱。但是正是这次的完整的项目经历,给了我学习的极大信息。

然后,最最重要的一点是,Spark是一个让人会又恨又爱的东西,为什么呢?因为你会遇到更种坑问题,但也正是因为如此,解决这种坑问题会给你极大的满足感,能激发你持续进步。

哪些spark大数据开发的实例可以用来快速入门?(Spark适用于以下哪些场景)
哪些spark大数据开发的实例可以用来快速入门?(Spark适用于以下哪些场景)
#####

来我头条号里找找案例?

由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 哪些spark大数据开发的实例可以用来快速入门?(Spark适用于以下哪些场景)

发表回复

CAPTCHAis initialing...