Spark为什么比Hadoop快?
1、Spark基于内存
Spark默认情况下将处理过程中的数据保存在内存中,而Hadoop的计算结果每次都保存到磁盘,增加了I/O读写的时间。这也导致在迭代计算时Spark速度愈发快于Hadoop。
2、Spark基于DAG
Spark的执行任务事先已经通过DAG规划,任务管理更加精细化。
3、移动计算而非移动数据
RDD的partitions就近读取节点上的数据进行计算。
Spark的运行模式有哪几种?
1、本地模式
2、Standalone
3、第三方资源调度框架(Yarn、Mesos)
生成DataFrame的方式有哪些?
1、从RDD转换为DataFrame
(1)某一类的RDD转换为DataFrame
val df = class_rdd.toDF
(2)结构化的RDD转换为DataFrame
val df = sparkSession.createDataFrame(row_rdd,schema)
2、从文件读取
(1)parquet文件
spark.read.load(path)
(2)json文件
spark.read.json(path)
Spark的操作有哪些?
Spark的persist如何选择?
Spark中Scala的隐式转换