戳蓝字“CSDN云计算”关注我们哦!
为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。优势如此明显的Spark,是不是要好好学习一下呢?
1
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,符合市场需求。
2
Q:怎么运行Spark?
A:Local本地模式、Spark独立集群、Mesos、Yarn-Standalone、Yarn-Client
3
Q:Spark Api语言支持
A:(1)Scala(2)Java(3)Python
4
Q:RDD(弹性分布式数据集)是?
A:只读的、分块的数据记录集合
可以通过读取来不同存储类型的数据进行创建、或者通过RDD操作生成(map、filter操作等)
使用者只能控制RDD的缓存或者分区方式
RDD的数据可以有多种类型存储方式(可(序列化)存在内存或硬盘中)
5
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
小伙伴们冲鸭,后台留言区等着你!
关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!
推荐阅读:
Docker,一个傲娇的男人
做了中台就不会死吗?每年至少40%开发资源是被浪费的!
AI“生死”落地:谁有资格入选AI Top 30+案例?
Python爬取B站5000条视频,揭秘为何千万人为它流泪
最前沿:堪比E=mc2,Al-GA才是实现AGI的指标性方法论?
Zend 创始人欲创建 PHP 方言,暂名为 P++;鸿蒙 OS 面世;中国首个开源协议诞生 | 开发者周刊
真香,朕在看了!