《初级大数据开发简历模板.docx》由会员分享,可在线阅读,更多相关《初级大数据开发简历模板.docx(3页珍藏版)》请在优知文库上搜索。
1、孙XX简历个人信息姓名:孙XX工作经验:3年性另小男手机:186学历:本科电子邮件:1865求职意向意向:大数据开发工程师状况:离职地点:北京薪资:面议工作经历2020/2至今北京XXX科技有限公司大数据开发工程师专业技能1 .熟练掌握SparkSqRSparkStreamingSparkCore,理解Spark工作机制及Spark任务的执行流程。2 .熟练掌握Had。P分布式集群安装、部署、搭建和配置,能够熟悉应用Hadoop相关工具进行相关应用开发。3,熟悉MapReduce,Hdfs工作机制和运行原理。4 .熟练使用Kafka实现集群分布式高吞吐量通信机制,同时借助Zookeeper建立
2、生产者和消费者的关系,实现负载均衡和持久化。5 .熟悉Linux环境和常用命令以及简单Shell脚本编写。6 .熟悉HBase的系统架构,了解RowKey设计,了解HBase优化。7 .熟悉Hive工作原理,数据仓库基本建立和Hive优化。8 .熟悉开源日志收集系统Flume,能够在不同场景实现日志收集工作。9 .熟悉Sqoop的数据导入导出,实现MySql和Hive之间的数据传输。10 .熟悉OOZie任务调度工具和Azkaban工具实现定时调度任务。IL熟练使用JaVa和Scala语言编程、熟练使用MySql语句。项目经历项目一:XXX数仓项目软件架构:Nginx+Tomcat+Hadoo
3、p+Flume+Zookeeper+Hive+Mysql+Spark+Sqoop+zkaban开发环境:Idea+Maven+Git项目描述:公司发展迅速,针对数据整体统一规划管理,对数据进行统一整理、清洗、过滤、去重、存储,便于以后的日常维护工作和项目开展。责任描述:在本次项目中主要负责并参与数据仓库的流程设计,实现数仓的各层,分别是ODS层(原始数据层)、DWD层(明细数据层)、DWS层(服务数据层)和ADS层(数据应用层),其中DWS层中包含事实层、维度层、宽表层,为了达到拿空间换时间的目的,由事实层中的事实表和维度层的维度表关联形成宽表层。技术要点:1 .Flum收集Web节点日志信息
4、,根据每个Event的Body里存的数据,可以对Log进行判断,设定不同的Header值,然后再经过选择器,根据Header中的某个值来决定走哪个Channel,将清洗完的数据存入HiVe中,作为原始数据。2 .使用ShelI编写脚本,每日定时的通过脚本将数据加载到ODS层,不做数据处理。3 .在DWD层采用SnaPPy压缩,通过该压缩方式解压速率快,存储方式选用ParqUet,后面的需要用Spark处理数据。4 .DWS层将数据进行统一标准、数据维度建模,抽取公共纬度,符合星型模型,将事实表和维度表进行关联,形成字段较多的宽表层,比如订单总数、订单流水等,为应用层服务。5 .对于一些每日变化
5、量不大,但是业务需求有需要统计出来的表,制作拉链表,从而解决即不好用全量表也不用增量表的情况。6 .ADS层数据,是为了满足具体需求,完成报表统计,细分主体,比如优惠券相关统计、用户、订单相关数据统计。7 .在处理DWS层数据时,在使用RDD时,将重复的RDD进行持久化处理。当内存无法将完整的RDD进行缓存时,将RDD进行序列化,减小数据体积。8 .在DWS层计算地区商品前三销量占比时,使UDAF函数解决Sql不方便显示商品占比问题。9 .Hive中开启Fetch,减少某些情况下不用MapReduce,从而加快数据查询。10 .针对个别Key过多导致数据倾斜,将这些个别的Key单独拿出了,并在
6、Key前面加入随机数字,从而减轻数据倾斜。11 .利用AZkaban定时任务调度将每天产生的数据存入Hive数据仓库。项目二:XXX手机App日志采集系统构架设计:Nginx+Tomcat+HadoopFlume+Zookeeper+Kafka+Spark+HBase+Hive开发环境:IDEA+JDK1.8+Maven+Scala项目描述:公司为了改进App性能和了解用户接受程度,建立了集中式海量日志实时处理系统,在手机APP端埋点,采集日常日志,统计历史日志,实时行为分析,用户轨迹跟踪等,用于满足运维需求,运用SparkStreaming从Kafka中获取数据进行实时和离线处理。责任描述:
7、在本项目中我主要参与需求分析讨论,架构设计,负责基于Kafka+SparkStreaming实时采集程序开发,项目实现并根据Spark项目的运行情况做综合分析和多方面的调节优化。技术要点:1 .Nginx+Tomcat配合使用做负载均衡和静态与动态资源分配,结合Master和worker工作进程的分离设计,让Nginx具有热部署的功能,在7*24不断服务下具备修改配置文件,更换日志文件等功能。2 .项目利用Flume拓扑结构来采集服务器上的日志,进行高并发优化,避免单点故障。3 .通过Kafka高级消费者分区与线程数量一致达到最大吞吐量实现多线程并发消费。4 .为了保证数据的准确性,将Kafk
8、a维护的Offset写入Zookeeper中;Zookeeper不仅存储了Kafka的内部数据,而且记录了消费者的成员列表,分区的消费进度,分区的所有者。5 .实时处理,运用SparkStreaming从Zookeeper中获取数据进行实时处理:将数据进行相关的过滤后利用SparkStreaming的Checkpoint机制对数据进行缓存,累加器和广播变量实现共享数据。6 .对HBase进行预分区,以及RowKey的设计,将不同的ROWKey放在不同分区中,防止发生热点数据问题。7 .离线处理,将Kafka中消费的日志数据写入HDFS中,利用Oozie定时任务调度将每天产生的数据存入Hive数
9、据仓库,对数据进行分区开启Hive严格模式,限制部分查询条件避免不合理的HQL执行。8 .使用广播变量与MaP类算子实现Join操作,进而减少ShUffle的操作从而避免数据倾斜。项目三:XXX实时分析项目软件构架:NginX+Kafka+Spark+Hive+Redis+Canal+Elasticsearch+MySQL开发环境:Idea+Maven+Git项目描述:使用Kafka进行日志的采集,传入的SPark-Streaming中进行数据分析,对每日活跃用户,订单的消费情况等做一个实时的统计。责任描述:1.负责当日日活数据的实时统计。2 .负责每日的订单从SQL导入的拉链表中。3 .根据
10、宽表搭建ES的索引结构,把数仓中的明细数据从Hive中导入到ES中。4 .对用户的购买行为进行分析。技术要点:1 .采用了分布式的消息订阅系统Kafka来对数据的传输及缓存,Kafka的高吞吐量保证了实时性。2 .Streaming消费Kafka的数据并进行实时的计算并把结果保存到Elasticsearch中。3 .采用高性能数据库RCdiS来缓存用户信息。4 .EIaStiCSearCh搭建实时的检索系统,使用第三方的IK分词器,提供用户的购买明细的搜索功能。5 .减少ShUffIe类算子的使用,从而减少网络IO和磁盘10,从而提高SPark处理数据的速度。6 .业务必须使用ShUffle,可以采用MaP-Side预聚合算子,将每个节点对于的Key先进行聚合操作,减少网络IO和磁盘10。7 .利用ForeachPartitions,MapPartitions来代替Foreach和Map算子。