Hadoop常见问题

hdfs文件系统中的角色 NameNode:是HDFS的主节点,负责管理文件系统的命名空间和元数据信息。维护了整个文件系统的目录树结构以及文件和数据块的映射关系 - 重要组件 - fsimage:它是在NameNode启动时对整个文件系统的快照。NameNode启动的时候,会读取fsimage并跟edit logs合并,得到完整的文件系统快照 - edit logs:它是在NameNode启动后,对文件系统的改动序列。改动会通过edit logs写入文件系统 SecondaryNameNode: - 作用:为了避免edit logs文件越来越大,NameNode重启会花费很长时间,SNN的职责
阅读更多

interview record 0

一轮 Java 1. 10亿数取TOPK Hive SQL 2. 最近7天连续登陆3天的用户 3. 每科排名前3的学生 自我介绍 项目经历 kafka isr集合作用 kafka副本同步机制 kafka如何保证数据不丢失 项目和airflow、dolphinscheduler相比优势是什么?事件驱动,延迟队列(没说出来) 项目设计比较好的地方?延迟队列(没说出来),批处理优化(没说出来),dag运行干预(没说出重点) 依赖上游任务情况下,希望最晚等到几点就开始执行,怎么设计?弱依赖最晚等待时间 java基本
阅读更多

Spark原理和实践

Spark概念 Spark 是一个基于内存的大数据分布式计算框架 RDD: Partition: Job: Task: Driver: Executor: Spark为什么比MapReduce执行更快 * DAG 执行模型:Spark 将整个计算构建成一个有向无环图(DAG),可对多步算子进行统一调度和优化;MapReduce 则强制每个 Job 都是单一的 Map→Shuffle→Reduce,阶段之间无融合 * 算子融合(Pipelining):对多个窄依赖算子(如 map、filter)进行链式执行,在同一个 Task 中完成,不产生中间写盘;MapReduce 每步都要落盘并重新
阅读更多

Java-JVM原理

Java内存模型 JMM TODO JVM内存区域 * 程序计数器:线程私有的,jvm通过改变计数器的值来选取下一条需要执行的字节码指令,唯一一个没有规定任何OutOfMemoryError情况的区域 * Java虚拟机栈:线程私有的,每个方法执行时创建栈帧,方法被调用就是栈帧在栈中从入栈到出栈的过程。栈帧的组成部分如下, * 局部变量表:存放编译期可知的各种jvm基本数据类型、对象引用。todo 待完善 * 操作数栈: * 动态链接: * 方法返回地址: * 本地方法栈:线程私有的,本地(Native)方法所
阅读更多

Java-语言基础

概念 编译型语言和解释型语言的区别 * 编译型语言:在程序执行之前,整个源代码会被编译成机器码或者字节码,生成可执行文件。执行时直接运行编译后的代码,速度快,但跨平台性较差。 * 解释型语言:在程序执行时,助航解释执行源代码,不生成独立的可执行文件。通常由解释器动态解释并执行代码,跨平台性好,但执行速度相对较慢。 典型的编译型语言如C、C++,但型的解释型语言如Python、JavaScript 数据类型 基础数据类型及其包装类型,缓存池 关于几种初始化Integer方式,初始化对象的区别 代码示例 >folded1 2 3 4 5 6 7 8 9 10 11 12 13 14
阅读更多