![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面经
Lynn Gin
这个作者很懒,什么都没留下…
展开
-
应届生 HR 面纪要
分享作为应届毕业生的我在Java开发领域的经验和见解。通过这些回答,希望能全面展示自己的能力和态度,为即将步入职场的自己找到一个理想的工作机会。原创 2024-07-19 16:38:58 · 387 阅读 · 0 评论 -
HashMap的put方法执行过程
根据Key通过哈希算法与与运算得出数组下标如果数组下标位置元素为空,则将key和value封装为Entry对象(JDK1.7中是Entry对象,JDK1.8中是Node对象)并放⼊该位置如果数组下标位置元素不为空,则要分情况讨论a. 如果是JDK1.7,则先判断是否需要扩容,如果要扩容就进⾏扩容,如果不⽤扩容就⽣成Entry对象,并使⽤头插法添加到当前位置的链表中b. 如果是JDK1.8,则会先判断当前位置上的Node的类型,看是红⿊树Node,还是链表Nodeⅰ. 如果是红⿊树Node,原创 2024-02-22 11:03:14 · 444 阅读 · 0 评论 -
Java中重写与重载的区别
定义参数返回值发生位置编译时决定目的重载在同一个类中,方法名相同但参数列表不同的一组方法。参数列表不同,包括参数类型、参数个数、参数顺序返回值可以相同也可以不同。在同一个类中发生。编译器根据调用时的参数列表决定调用哪个重载方法。提供不同的方法重载,用于处理不同的参数类型、个数等情况。重写在继承关系中,子类重新定义父类中已经存在的方法。参数列表相同返回值必须相同。在继承关系中子类中发生。运行时决定,根据对象的实际类型决定调用父类方法还是子类方法。子类原创 2024-02-22 10:19:43 · 400 阅读 · 0 评论 -
Spark 优化(性能优化、解决数据倾斜)
性能优化、数据倾斜名称说明–num-executorsexecutor数量–executor-memoryexecutor内存(影响不大)–executor-cores每个executor的CPU core数–driver-memoryDriver内存举个栗子:资源一共:400G内存、100 core参考分配:50个executore、每个executor8G、2 core设置合理的并行度,官方推荐,task 数量应为 Spar...原创 2022-07-12 16:34:09 · 731 阅读 · 0 评论 -
DataX处理mysql为null的数据到hive
原因:HFDS Writer并未提供nullFormat参数:也就是用户并不能自定义null值写到HFDS文件中的存储格式。默认情况下,HFDS Writer会将null值存储为空字符串(‘’),而Hive默认的null值存储格式为\N。所以后期将DataX同步的文件导入Hive表就会出现问题。解决方案修改DataX HDFS Writer的源码,增加自定义null值存储格式的逻辑,可参考https://blog.csdn.net/u010834071/article/details/10550原创 2022-04-24 12:26:16 · 3797 阅读 · 1 评论 -
java 线程池
使用线程池的优势降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。代码操作import java.util.concurrent.*;public class ThreadPoolExecutorTest { public static void main(St原创 2021-08-10 18:20:23 · 81 阅读 · 0 评论 -
Spark 数据倾斜解决方法
Spark 数据倾斜Spark 中的数据倾斜问题主要指 shuffle 过程中出现的数据倾斜问题,是由于不同的 key对应的数据量不同导致的不同 task 所处理的数据量不同的问题。例如,reduce 点一共要处理 100 万条数据,第一个和第二个 task 分别被分配到了 1 万条数据,计算 5 分钟内完成,第三个 task 分配到了 98 万数据,此时第三个 task 可能需要 10小时完成,这使得整个 Spark 作业需要 10 个小时才能运行完成,这就是数据倾斜所带来的后果。注意,要区原创 2021-08-10 16:28:31 · 375 阅读 · 0 评论 -
SQL 行转列, 列转行, Rank()
SQL 行转列, 列转行, Rank()行转列concat( string A/col, string B/col … )返回输入字符串连接后结果concat_ws( separator, str1, str2, … )separator:分隔符concat_set( col )将某字段的值进行去重 汇总,产生 Array 类型字段。eg:CONCAT_WS("|",collect_set(t1.name))列转行expload( col )将 hive 一列中复杂的 Array 或原创 2021-08-10 11:13:30 · 223 阅读 · 0 评论 -
Spark 依赖关系
Spark 依赖关系RDD 窄依赖每一个父RDD 的Partition 最多被子RDD 的一个Partition 使用filter, map, flatMap, sample, union, intersection, mapPartitions, mapPartitionsWithIndex, zipRDD 宽依赖多个子RDD 的Partition 会依赖同一个父RDD 的PartitionsortBy, sortByKey, reduceByKey, join, leftOuterJoin,原创 2021-08-10 10:57:17 · 191 阅读 · 0 评论 -
Spark RDD 持久化 persist 或 cache
// 数据缓存rdd1.cache()// 可以更改存储级别rdd2.persist(StorageLevel.MEMORY_AND_DISK_2)原创 2021-08-10 09:24:38 · 135 阅读 · 0 评论 -
Spark 任务提交
bin/spark-submit \--class com.atguigu.spark.Analysis \--master yarn--deploy-mode cluster--num-executors 80 \--driver-memory 6g \--executor-memory 6g \--executor-cores 3 \/usr/opt/modules/spark/jar/spark.jar名称说明–num-executors配置 Executor原创 2021-08-10 09:14:49 · 102 阅读 · 0 评论 -
Spark reduceByKey 与 groupByKey 的区别
Spark reduceByKey 与 groupByKey 的区别从 shuffle 的角度:reduceByKey 和 groupByKey 都存在 shuffle 的操作,但是 reduceByKey 可以在 shuffle 前对分区内相同 key 的数据进行预聚合(combine)功能,这样会减少落盘的 数据量,而 groupByKey 只是进行分组,不存在数据量减少的问题,reduceByKey 性能比较 高。从 功能 的角度:reduceByKey 其实包含分组和聚合的功能。Gr原创 2021-08-10 08:35:23 · 158 阅读 · 0 评论