数据分区
为了多个执行器能并行地工作,spark降数据分解成多个数据块,每个数据块是一个分区。
转换
进行转换时,数据会被自动分区。
转换分为两种:一种窄依赖关系的转换,一种是宽依赖关系的转换。
窄依赖转换时一个分区只会输出一个分区。
宽依赖转换时一个分区可转换多个分区。
惰性操作
惰性指等到必须执行时才计算。用户的一些操作,不会立即修改数据,而是建立转换计划并转化为流水线的物理计划。
目的是优化物理计划,减少扫描实际用不到的数据.
val flightData2015 = spark
.read
.option("inferSchema", "true")
.option("header", "true")
.csv("/data/flight-data/csv/2015-summary.csv")
# in Python
flightData2015 = spark\
.read\
.option("inferSchema", "true")\
.option("