4

在51CTO的第一篇Blog

 1 year ago
source link: https://blog.51cto.com/shadowlim/6006698
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

2022个人年终总结


在51CTO的第一篇Blog_大数据

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

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

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

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

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

......

在51CTO的第一篇Blog_技术栈_02

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

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

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

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

在51CTO的第一篇Blog_技术栈_03
  • 晒一下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);
}
}

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

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

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

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

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

在51CTO的第一篇Blog_大数据_04

4、展望未来

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

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

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

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

在51CTO的第一篇Blog_技术栈_05

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK