在51CTO的第一篇Blog

时间:2023-01-14 11:59:47

2022个人年终总结


在51CTO的第一篇Blog


1、前言

2022年,终究是不平凡的一年。

2022年2月4日,中国农历大年初四,这一天,北京冬奥会将拉开大幕。

2022年3月份,疫情还未结束。

2022年7月21日,滴滴出现数据网络安全问题。

2022年12月份,自己成为了自己健康的最大负责人。

......

在51CTO的第一篇Blog

2、技术

定位​​大数据开发​​​领域,这一年来,学习了大数据常见的组件或者​​框架​​​,包括Kafka、HBase、Spark、Fink,同时也学习数据仓库有关的​​采集项目​​​,​​离线数仓​​系统的搭建。

但是,对知识点的学习往往只是停留在表面,基本上属于浅尝辄止,对于技术栈​​「一学就会、一停就废」​​,技术栈没有及时去巩固、深入、实操,基本上都忘光了。

同时,对于数据库的学习,尤其是在​​NoSQL​​方面,学习较多,包括HBase、Redis、MongoDB、Neo4j的学习,对于HBase,应该是最熟悉的,基本上是对之前的知识点的巩固,Redis和MongoDB去年所有接触,总体上也是学习不深入,只熟悉基本的命令行操作以及基本的Java API操作,图形数据库Neo4j,个人觉得学习难度最大,当然,更多的是提不起兴趣。

最后,2022年也完成了Hadoop生态相关的大数据应用案例以及NoSQL的相关​​案例学习​​。

在51CTO的第一篇Blog

  • 晒一下MR的最基本代码结构

2022年完成的二手房统计分析项目的「统计四大一线城市房价的最值」

  • Driver端
public class MaxMinTotalPriceByCityDriver {
public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "MaxMinTotalPriceByCity");
job.setJarByClass(MaxMinTotalPriceByCityDriver.class);
job.setMapperClass(MaxMinTotalPriceByCityMapper.class);
job.setReducerClass(MaxMinTotalPriceByCityReducer.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
FileInputFormat.setInputPaths(job, new Path("datas/tb_house.txt"));
FileOutputFormat.setOutputPath(job, new Path("MapReduce/out/MaxMinTotalPriceByCity"));
job.waitForCompletion(true);
}
}
  • Mapper端
public class MaxMinTotalPriceByCityMapper extends Mapper<Object, Text, Text, IntWritable> {
private Text outk = new Text();
private IntWritable outv = new IntWritable();
@Override
protected void map(Object key, Text value, Context out) throws IOException, InterruptedException {
String line = value.toString();
String[] data = line.split("\t");
outk.set(data[1]); // city
outv.set(Integer.parseInt(data[6])); // total
out.write(outk, outv);
}
}
  • Reducer端
public class MaxMinTotalPriceByCityMapper extends Mapper<Object, Text, Text, IntWritable> {
private Text outk = new Text();
private IntWritable outv = new IntWritable();
@Override
protected void map(Object key, Text value, Context out) throws IOException, InterruptedException {
String line = value.toString();
String[] data = line.split("\t");
outk.set(data[1]); // city
outv.set(Integer.parseInt(data[6])); // total
out.write(outk, outv);
}
}

3、生活

在生活上,基本上和以往一样,保持常态。

积极乐观的生活态度,是我所追求的。在充满未知的生活中,拥有乐观的心态、保持着年轻的冲劲,这并不容易。

2022年,新冠疫情、经济不景气、互联网的大裁员,*使得同行的人越来越卷,因为不卷没有出路,此处不是贩卖焦虑,只是感慨。

时间过得很快,机会有时也是一瞬间。

成长路上,更多的是相互学习。“三人行,必有我师焉”,2022年,我从身边的人学到了一些以往不曾具备的东西,我从他们身上验证了「一山更比一山高」的道理,人的一生就是在不断地学习。

在51CTO的第一篇Blog

4、展望未来

作家路遥在《人生》中写道:一个人应该有理想,甚至应该有幻想,但他千万不能抛开现实生活,去盲目追求实际上还不能得到的东西。

人的一生总是忙忙碌碌的,或许一直忙于赚钱养家,为房子贷款而加班,或许执着于追求理想,只为实现心中的大道。

我们应该有目标,坚定心中的信念,为之努力拼搏。你可以拥有远大的志向,但是这个目标需要具有​​可行性​​,「一口气吃成一个胖子」是不现实的,任何事情都不是一蹴而就的,也并非是事事都要谨小慎微,有时候适当地改变,突破以往的思维,不局限于当前的资源。

眼界的提高,格局的大小,是今后的着重之处,2023,加油!

在51CTO的第一篇Blog

结束!