0
点赞
收藏
分享

微信扫一扫

知识✧回顾

googlefrank 2022-02-11 阅读 70

知识回顾


1、请简述 HBase 的数据结构和存储架构


2、请简述 HBase 查询数据的流程


3、请简述 HBase 写询数据的流程


4、请阐述 Spark 中的缓存机制 cache 和 persist 与 checkpoint 的区别与联系

/*控制算子之cache()惰性加载*/
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")

  }
}

在这里插入图片描述


/*控制算子 checkpoint*/
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 宽窄依赖的作用是什么?

举报

相关推荐

0 条评论