知识回顾
1、请简述 HBase 的数据结构和存储架构
2、请简述 HBase 查询数据的流程
3、请简述 HBase 写询数据的流程
4、请阐述 Spark 中的缓存机制 cache 和 persist 与 checkpoint 的区别与联系
object CtrlCache {
def main(args: Array[String]): Unit = {
val context = new SparkContext(new SparkConf().setMaster("local").setAppName("cache" + System.currentTimeMillis()))
val value: RDD[String] = context.textFile("src/main/resources/user.log")
value.cache()
val start: Long = System.currentTimeMillis()
val count: Long = value.count()
val end: Long = System.currentTimeMillis()
println("数据共"+count+"行,耗时:"+(end-start)+"s")
val start1: Long = System.currentTimeMillis()
val count1: Long = value.count()
val end1: Long = System.currentTimeMillis()
println("数据共"+count1+"行,耗时:"+(end1-start1)+"s")
}
}

object CheckPoint {
def main(args: Array[String]): Unit = {
val context = new SparkContext(new SparkConf().setMaster("local").setAppName("cache" + System.currentTimeMillis()))
val value: RDD[String] = context.textFile("src/main/resources/user.log")
context.setCheckpointDir("./point")
val partiton: RDD[String] = value.flatMap(_.split(" "))
println("分区数:"+partiton.getNumPartitions)
value.checkpoint()
value.count()
context.stop()
}
}

5、RDD 的五大属性?请列举出常用的 RDD 算子及作用?
6、Spark 宽窄依赖的作用是什么?