spark core开发-1

爱⌒轻易说出口 提交于 2020-02-28 04:51:49

spark 说说轻快灵巧,但开发真的好多东西😕
回顾spark两种算子:

  • transformation:是lazy的算子,并不会马上执行,需要等到action操作的时候才会启动真正的计算过程,如map,filter,join。
  • action:是spark应用真正执行的触发动作,如count,collect,save等。

一开始我只知道两个算子的概念,并没有实质理解,但最近有点悟到,transformation返回值是一个RDD,而action返回结果或者将结果写入存储
由于spark是基于scala语言的,但没有scala的功底,后期选择java进行开发:
在spark客户端简单的用scala实现了Wordcount:
进入spark客户端:
在这里插入图片描述
在这里插入图片描述
现在就成功进来啦
在scala中有两种变量
val:常量 如rdd,只读的
var:变量
sc 可以理解冲java中的sparkcontext spark的功能入口
直接跟路径,默认读取的是HDFS上的数据:
在这里插入图片描述
在这里插入图片描述
调用flatmap方法将数据从hdfs中读取,并通过“ ”切分成字符串,调用map和reduce进行合并
在这里插入图片描述
在调用collect就不会报错了:
在这里插入图片描述
接下来进入java开发:
Spark-core常用接口介绍:

JavaSparkContext 是spark的对外接口,负责向调用该类的java应用提供spark的各种功能,相当于一个百宝箱
SparkConf Spark应用配置类 如设置应用名称,执行模式,executor内存等
JavaRDD<> 用于在java应用中定义JavaRDD的类 只有值(value)
JavaPairRDD<> 表示key-value形式的JavaRDD类,提供的方法有groupByKey,reduceByKey等 以键值对的方式

案例一:RDD的创建
在这里插入图片描述在这里插入图片描述
案例二:
并行集合:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在运行过程中会由于各种原因报错,一定要对应自己定义的变量个实例,还有部署方式!!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!