个人介绍
高级大数据开发工程师
技术栈:Hadoop、HBase、Hive、Python、Spark、Storm、Kafka、Flume、Zookeeper、Flink、阿里dataworks等
理解并掌握Java编程原理,熟悉Java虚拟机基础知识
掌握python语言编程基础,了解selenium、scapy爬虫编写,了解django web框架
熟练使用Linux操作命令,掌握基本的shell脚本编程
理解Mysql的视图、事务、存储过程
熟练掌握eclipse、pycharm、IDEA等开发工具;了解Maven构建项目流程
熟悉Hadoop生态圈常用工具信息,对Hadoop、HBase、Hive、Spark、Flink工具熟练应用
深入了解hadoop中HDFS工作原理,阅读过部分FileSystem、FileStatus、FileUtil源代码
深入了解MR运行原理,阅读过Mapper、Shuffle过程(分区、分组、排序)、Reducer、分片、Writable的源代码
熟练MapReduce编程:分片、Writable、分区、分组、排序、倒排、连接
掌握Spark编程基础:RDD,SparkSQL,Spark Streaming
具备独立完成Flume+Kafka+Storm实现简单实时的应用能力
理解HBase工作原理和运行原理
理解Hive工作原理,熟练常用HiveQL语句,掌握编写UDF函数编写
熟悉elasticsearch大文本搜索技术
熟悉配置并使用xxljob分布式任务调度系统
熟悉MongoDB简单查询语句
工作经历
2021-06-30 -至今深圳有咖互动科技有限公司高级大数据开发工程师
新浪微博控股深圳有咖互动科技有限公司(以下简称有咖)。 主营业务克拉克拉、漫播。 克拉克拉是一个轻偶像直播互动平台,内容泛二次元,主打治愈系声音,以15-25岁女性群体为核心用户。产品以语音直播、虚拟直播、群组交友为特色,覆盖声优唱见、明星粉丝、影视、游戏、动漫等多类细分群体,构建多元化兴趣社交体系,成为当下年轻人喜爱的兴趣社交聚集地。 漫播APP是一款朝向年青用户的数据可视化有音内容交流平台。新品发布会上,漫播初次发布了其在商品、内容及发展趋势计划上的合理布局,引起了领域的关心。归功于在音频视频技术领域的累积,漫播出示超清音色作用,务求把有音著作中的唇齿音、湿啰音从播放软件和流媒体服务器传送方面保证利润最大化复原。而适用时间轴拖动的作用让用户能够迅速精准定位较高能剧情,操控刷剧节奏感。在游戏玩法上,漫播导入视频弹幕、群聊、人物角色打call、等多种多样人性化作用,考虑年青用户的多样化游戏娱乐要求。 主要职责:数据分析、大数据开发、实时数据流项目开发、根据部门需求定制数据开发
2020-08-01 -2021-06-01北京阿拉丁未来科技有限责任公司大数据工程师
通过自有大数据平台帮助小程序主统计日活等流量数据;通过自有广告平台,在小程序、公众号投放广告或游戏广告。 职能:1、基于业务部门的需求做数据支撑技术服务以及数据应用的开发 2、负责实时数仓设计,并对数据进行处理、实时分析、统计、以及部分机器学习算法工作
2018-04-01 -2020-07-01北京艺恩世纪数据科技股份有限公司hadoop工程师
艺恩大数据平台,围绕语义分析、存储计算、数据挖掘、机器学习等核心技术,构建行业算法模型与标签库。以数据分析产品、平台产品、研究洞察形成解决方案,向品牌消费与内容公司等合作伙伴提供产品服务。 职能:1、负责构建大数据分析平台,进行数据清洗、转储与计算 2、基于客户需求,做数据支撑技术服务以及数据应用的开发
教育经历
2014-09-01 - 2018-06-30东北农业大学成栋学院软件工程本科
本科就读于东北农业大学成栋学院软件工程专业。学校开设数据库概论、数据结构与算法、编程语言基础、线性代数、概率论等专业课程。
技能
所用技术:hadoop、hive、hbase、sqoop、Python、Spark 开发环境:eclipse、pycharm 2017.03、jdk 1.8.0、mysql 5.1.10、maven 3.5 项目描述:通过Python按指定网址范围爬数据,将原始信息存入HDFS中。对采集的数据进行处理,将信息来源与内容存入hbase中。编写自定义hive UDF函数,对用户回复信息进行中文分词处理。通过HiveQL对数据进行分析统计,将统计结果存入Hive内部表内,通过Sqoop将结果导入至Mysql,供前台用户使用。 负责模块: 将原始数据csv文件中的内容通过Java调用,再通过HDFS API上传至HDFS指定文件夹 地址生成库:MapReduce清洗数据,取出一级网址名称,取出最长网址名称,通过正则表达式去除记录图片、文件的网址和空网址,去除非用户行为数据 对原始数据中每个网址的内容利用现有的庖丁解牛包进行中文分词: (1) 了解庖丁解牛中文分词工具 (2) 利用庖丁解牛中文分词工具编写hive UDF自定义函数 (3) 编写对业务数据进行中文分词处理的hiveQL语句Demo,供项目组参考使用 整理地址库:对行为地址进行分类,对产品地址进行分类,提取行为地址分词数据 Mapreduce程序部分: (1)数据清洗:使用mapreduce中的map程序(不使用reduce)去除原始数据中不符合规定数据格式数据,及非用户主观行为(广告,配置数据等)数据。 (2)行为匹配:MapReduce关联行为地址库识别用户访问行为,标识用户行为分类。 (3)用户行为统计:统计用户行为地址访问次数,识别用户高频访问地址。 (4)整体行为统计:统计热门地址,用户访问最多地址及访问人数。 (5)产品匹配:关联产品地址库标识用户行为匹配中的产品地址。 (6)用户产品统计:统计用户高频访问地址。 (7)整体产品统计:统计产品整体热门程度。 (8)用户行为top提取:提取用户高频地址,用于缩小数据范围,用户整体行为地址数据量比较大,不利于关系数据库存储。 (9)用户行为画像:关联行为分类数据统计用户各分类情况。 (10)预购用户群提取:从行为匹配数据中提取预购用户群。 Spark程序: (1)协同过滤:根据用户数据访问情况,利用协同过滤算法为用户对产品的喜好打分,评估喜欢程度。 (2)产品相似:关联产品分类数据,对未能协同过滤推荐用户提取访问产品,根据产品分类推荐相似产品。 (3)关联规则:分析用户产品访问的关联规则模型,根据关联规则模型对用户的访问情况进行产品推荐。 Hadoop平台调度脚本执行项目功能:定Shell脚本,用于程序调度、启动mapreduce和spark程序。 程序部署:Mapreduce程序和spark程序导出jar包,与sh调度脚本部署到同一工作目录即可。
所用技术:hadoop、hbase、phoenix、kafka、redis、SparkStreaming 开发环境:IDEA 2020.03、jdk 1.8.0、mysql 5.1.10、maven 3.5 项目描述:通过对H5页面埋点获取用户操作信息。对该信息进行用户行为分析,过滤作弊数据,计算uv与花销。后续对各个小游戏流量数据进行新用户数统计、访问人数、跳出率、留存率等运营指标进行统计,能够帮助运营同事实时查看数据,提升产品精准运营效果,以及反馈给投放引擎,及时对投放广告进行调整。 负责模块: 实时数仓设计,数仓采用4层设计(ods dwd dws ads),建模使用维度模型(星座模型) 实时代码开发,计算批次点击、曝光、计费PV和UV等业务指标,并进行实时扣费 离线代码开发,对实时数据结果进行每小时、每天统计 处理客户反馈问题,日均TB级数据处理,部分实时业务峰值800w条/批 本项目大数据部分主要负责人,协调前端、php、后端与大数据组之间工作。并负责项目大数据部分上线部署,并保证上线后能正常运行 项目建构: 利用js埋点上报数据到Nginx,使用go语言对日志数据进行解密,并上传到kakfa。后续对接sparkstreaming进行实时分析和flume采集到hdfs进行永久存盘 利用Maxwell监控MySQL的binlog文件,抓取到对应表的实时新增变化的数据,推送到Kafka对应的topic中。 通过SparkStreaming主动消费kafka数据,对日志数据进行用户行为分析,过滤作弊数据。并开启背压等优化。 中间层数据保存到kafka中,保证实时读取效率,并用flume采集到hdfs进行永久存盘。 手动维护Kafka消费的偏移量,将偏移量存储在Redis中和MySQL中,实现精确一次消费。 最终结果保存到Phoenix中,并创建二级索引,提升查询效率。 实时扣费数据保存到redis中,并在每天0时通过离线程序进行校准。 从Hbase+phoenix中读取数据并发布接口,对接可视化模块。
所用技术:spark、hadoop、hive 开发环境:pycharm、python2.7.5、MongoDB、mssql、java1.8、elasticsearch、hive 项目描述:通过收集到的明星信息,对已代言明星进行舆情监控以及热度分析,把握艺人实时热度变化,通过代言人优选,根据品牌调性以及明星调性的相符程度,筛选品牌意向代言人,提高决策效率。 数据流向: MongoDB->hive->spark(计算)->mssql 负责模块: 微博舆情分析 (1) 使用mongo-spark-connector官方连接器,通过spark读取MongoDB中微博评论数据,并将数据保存到原始层,确保没问题后删除MongoDB中数据,缓解MongoDB压力。 (2) 使用jieba对微博评论内容进行分词,并获取词性。使用SnowNLP对分词结果进行情感分析。将这些数据保存,其中分词结果使用array格式保存。 (3) 通过集群框架,实现tfidf算法 (4) 对形容词使用tfidf算法分析热词,对情感分析结果按区间进行统计并计数。 (5) 将最终结果使用foreachPartition算子,存入mssql临时数据表。 (6) 使用MERGE语句对线上表进行更新。 全部新闻信息展示(大文本搜索) (1) 将新闻类数据(百度新闻、头条新闻、*公众号等)导入hive原始层,删除mongodb数据。 (2) 对数据进行清,清洗后存入hive。 (3) 对新闻数据进行分析(nlp、统计等),结果导入mssql数据表 (4) 按照需求将需要的字段数据导入ES中(新闻内容、阅读量、链接、平台等) (5) 使用java编写查询方法(按条件查询、分页等),供前端接口调取。 微博用户画像 (1) 将原始采集的微博用户数据保存到原始层,对数据进行初步的清洗,之后保存到hive。 (2) 对明星进行微博用户画像分析,包括年龄、省份、城市、性别、职业、标签等。 (3) 对数据进行偏好值计算,并将最终结果通过foreachPartition算子导入前端数据表。 数据报警 (1)对采集数据进行查缺,发现漏采数据,通过邮件通知相关负责人进行补采。 (2)对计算程序进行检测,发现日志报错,通过邮件将错误信息发送给相关负责人,通知查找错误原因。 (3)对数据结果进行检验,主要对线上表进行检验。 (4)编写自动查找数据问题程序,当数据出现问题时,运行该程序,自动查找数据问题。