为什么RDD有很多种创建方法 因为Spark运行的介质、硬件存储不同 Spark和Hadoop有没有关系? 第一个RDD:代表了Spark应用程序输入数据的来源 通过集合创建RDD的实际意义:测试 Hadoop+Spark目前大数据领域最有前途的组合 可以在智能设备如:手机、平板、电视上使用Spark,也可以在PC以及Server上使用Spark(只要有正常的JVM) 多线程的方式模拟分布式 local模式默认情况下如果失败了就是失败了,但可以重试且可以指定重试次数 在spark shell中不用重新创建spark context,其本身就是个spark程序,不用创建了 reduce是action,所以在spark shell中敲入这个后直接就会出发一个作业 没有指定分片的话,spark看有多少个core就用多少个core 只有一个Stage,原因:reduce是action,不会产生RDD,不需要shuffle,所以只有一个Stage。 实际上Spark的并行度到底应该设置为多少?建议为每个core可以承载2-4个partition 刚刚的代码创建的是ParallelCollectionRDD,看一下源码 数据Block是由BlockManager管理的 从HDFS中获取文件之后得到的MapPartitionRDD原因: 基于sql的RDD由于数据分布式存储,所以要非常认真的写PreferedLocation 从数据本地性上讲,安装有mysql、HBase等的服务器上也要安装spark,但有时无法实现,这时需要用到Tachyon |
|
来自: 看风景D人 > 《Spark学习总结》