Spark精华问答 | 怎么运行Spark?

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=png

为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。优势如此明显的Spark,是不是要好好学习一下呢?


640?wx_fmt=gif1



















Q:学了Spark有什么用呢?


A:首先说一下Spark的优势:

1、 更高的性能。因为数据被加载到集群主机的分布式内存中。数据可以被快速的转换迭代,并缓存用以后续的频繁访问需求。在数据全部加载到内存的情况下,Spark可以比Hadoop快100倍,在内存不够存放所有数据的情况下快hadoop10倍。

2、通过建立在Java、Scala、Python、SQL(应对交互式查询)的标准API以方便各行各业使用,同时还含有大量开箱即用的机器学习库。 

3、与现有Hadoop 1和2.x(YARN)生态兼容,因此机构可以无缝迁移。 

4、方便下载和安装。方便的Shell(REPL: Read-Eval-Print-Loop)可以对API进行交互式的学习。 

5、借助高等级的架构提高生产力,从而可以讲精力放到计算上。

所以总结一下就是简单,快速,兼容性好,功能强大。不用再将注意力放在框架上,而是集中于业务逻辑,所以在大数据中Spark很受欢迎,学习Spark,符合市场需求。


640?wx_fmt=gif2

Q:怎么运行Spark?


A:Local本地模式、Spark独立集群、Mesos、Yarn-Standalone、Yarn-Client


640?wx_fmt=gif3

Q:Spark Api语言支持


A:(1)Scala(2)Java(3)Python


640?wx_fmt=gif4

Q:RDD(弹性分布式数据集)是?


A:只读的、分块的数据记录集合

可以通过读取来不同存储类型的数据进行创建、或者通过RDD操作生成(map、filter操作等)

使用者只能控制RDD的缓存或者分区方式

RDD的数据可以有多种类型存储方式(可(序列化)存在内存或硬盘中) 


640?wx_fmt=gif5

Q:用DataFrame对数据进行处理,然后转成RDD,调用saveAsTextFile方法保存在HDFS上,然后出现了400个文件,但只有6条数据,大部分文件都是空的,调用RDD的partitions方法,有400个partition,也就是一个partition写了一个文件,而空的partition写成了空的文件,能不能不写空的文件?


A:修改分区就行了

val rdd1 = sc.parallelize(Array(1,2,3,4,5,6,7,8))

#  查看分区数

rdd1.partitions.length

# 改成1个分区

val rdd2 = rdd1.repartition(1)

rdd2.partitions.length


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!


推荐阅读:

真香,朕在看了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值