大数据【Java开发转大数据学习路线分解】(不断细化ing)
技术点:
- 将基础的数仓搭建沉淀成自己的实践方法论
- 提高大数据实时处理平台的稳定性和高效性
- 提升自己分析定位及解决问题的能力
- 既懂得平台开发又懂得算法原理和应用
- 注重风控系统,监控大数据平台安全
- 前后端高吞吐交互处理以及服务的自动发现和多租户的权限处理
- 深入源码层理解技术栈,源码二次开发
职业发展各阶段核心能力:
- 掌握Hive、Hbase、Spark、Flink等;
- 剖析 Hadoop、Kafka 等源码,深入理解各框架的底层设计原理等。
- 技术知识体系:
一、数仓平台搭建能力
数仓的搭建与实践是个亘古不变,历久弥新的话题,在当前大数据分析实战中,各大公司基本都会构建自己的数据仓库。
应用技术点:
1.大数据平台体系建设
- zookeeper实践
- Hadoop平台体系构建
- 分布式文件系统HDFS原理
- MapReduce分布式计算系统
- Yarn资源管理框架
2.数据仓库工具Hive
- Hive表模型
- Hive数据存储格式与数据压缩方式
- Hive企业调优
3.数据ETL工具
- Flume数据采集工具
- Azkaban任务调度
- Sqoop数据导入导出工具
所需技能点:
- 基于Hive构建数据仓库
- 数据仓库指标构建体系
- 基于定时任务调度实现数据任务自动化
- 基于Hive的深度调优
- 数据导出主键自增问题
- 导出过程中的事务问题
- 基于Hive构建拉链表
二、主流技术企业级实战
随着大数据技术日趋成熟和稳定,越来越多的公司在内部深度实践 Kafka,HBase,Phoenix,Spark 等各种大数据技术。
应用技术点:
1.数据采集功能模块
- Flume实时采集数据并接入Kafka
- Maxwell解析Mysql的Binlog日志实时同步数据
- 数据采集的shell脚本一键启动服务
2.分布式消息队列Kafka
- Kafka基本使用、生产者消费者
- Kafka的Offset管理
- Kafka消息查找机制、零拷贝及分区机制
- Kafka的ISR、HW、LEO
3.Spark
- 基础及运行环境
- SparkCore算子及调优
- SparkSql的DSL及SQL风格语法
- SparkSql整合Hive
- SparkSql调优
- SparkStreaming实时处理数据、底层运行原理及企业调优
- SparkStreaming与Hive整合的方式
4.HBase
- HBase基础及HBase的JavaAPI操作
- HBase读写流程及二级索引
所需技能点:
- 数据脱敏
- Flume与Hive整合并指定数据分区
- 数据库实时同步解决方案
- SparkStreaming消费Kafka自主维护Offset
- SparkSQL自定义数据源直接查询HBase
- HBase的Rowkey设计实现数据预分区
- Phoenix构建HBase二级索引
- 前后端分离架构实现数据查询
三、风控系统实战
爬虫消耗了系统资源,但却没有转化成销量,导致系统资源虚耗,严重时还会造成系统波动,影响正常用户访问购票。企业为了限制伪装技术越来越强的爬虫访问和恶意占座行为,就需要开发大数据防爬工具。
应用技术点:
1.数据管理模块化
- 支持对数据采集和分类等各种处理的配置和管理
2.流程管理模块化
- 支持流程定义和可配置管理
- 根据监控模块反馈情况,系统自动执行相应策略
- 支持人工执行相应策略
3.策略管理模块化
- 支持策略定义和配置管理
- 配置爬虫和占座行为匹配成功后的系统或人工应对方法
- 关联爬虫和占座行为与机器学习算法的选择和算法参数的阈值
4.规则管理模块
- 支持规则定义和可配置管理
- 支持人工定制爬虫和占座过滤规则
- 支持定制规则参数阈值
5.实时监控模块化
- 对系统所采集的各种数据和特征进行实时监控及深度分析
- 通过模型分析和预测,智能识别和判断爬虫活动与性质
- 通过监控系统反馈的稳定性和负载情况,间接反映可能的爬虫活动情况
6.数据可视化管理模块化
- 将人工难以识别的数据制定图表或图形化,利于从中发现规律和价值
- 提供各种内置标准报表(转化率、爬取规律、占座规律、爬虫对查定比及系统稳定性的影响)
所需技能点:
- 基于Nginx数据采集到Kafka
- 基于Flink的链路处理
- 数据清洗和数据脱敏和数据分类
- 解析查询数据和解析预定数据
- 数据加工、数据结构化、数据推送
- 任务实时监控和定时任务开发
- 反爬虫规则开发
- 报表、转化率、爬取率、查定比、系统稳定性等开发
四、大数据实时处理技术
Kafka 作为大数据实时处理场景中的重要环节,是实时数据处理的数据中枢,广泛应用于 linkedin、facebook、BAT 等互联网企业中。为了提高大数据实时处理平台的稳定性和高效性,提升自己分析、定位及解决问题的能力,掌握 Kafka 底层源码不能少。
应用技术点:
1.Kafka生产者源码剖析
- 生产者写数据核心流程
- 快速定位问题
2.Kafka服务端源码剖析
- 服务端存储数据的逻辑和设计
- 提高系统稳定性和可用性
3.Kafka消费者源码剖析
- 消费者代码设计及理解
所需技能点:
- Kafka生产者核心源码剖析、内存池源码设计、元数据管理源码剖析
- Kafka服务端网络设计、存储设计、副本同步原理源码剖析、数据如何Flush到磁盘源码剖析
- Kafka消费者核心源码剖析、Coordinator原理剖析
- Kafka支持超高并发的网络设计源码剖析
五、推荐系统算法实战
在大数据行业,大数据工程师除了会平台开发,如果还能懂一些算法。尤其是推荐算法人才非常稀缺,既会大数据平台开发又懂算法原理和基本运用的人才,将会非常受欢迎。
应用技术点:
1.特征工程
- 字典向量化
- 文本特权提取TF-IDF
- 数据标准化处理
- 特征选择:方差选择法、皮尔逊相关系数
- PCA主成分分析
2.数学基础
- 向量运算、矩阵运算、导数与偏导数、凸函数与凹函数
- 均值、数学期望、方差、高斯分布、置信区间
- 最小二乘法、梯度下降、余弦相似度
- 交替最新二次法
3.机器学习算法
- 分类算法:K近邻、朴素贝叶斯、决策树、随机森林、逻辑回归
- 回归算法:线性回归、岭回归
- 聚类算法:K-Means
- 推荐算法:ALS
4.SparkMLlib之推荐算法
- 精确率、准确率、召回率、f1-score
- 均方误差
- 网格搜索
- 交叉验证
所需技能点:
- Python语言
- 数据分析工具Pandas、Matplotlib的使用
- 核心机器学习算法原理
- scikit-learn、SparkMLlib机器学习库的使用
- 机器学习中特征工程的基本使用
- 推荐算法核心原理及使用(item-cf、user-cf、content-based、LFM)
- 机器学习算法在实际生产中的落地
六、数据中台
基于多数据源场景,构建数据中台。通过对接多数据源,重新定义SparkSQL语法,实现前后端高吞吐交互处理,以及服务的自动发现和多租户的权限处理。
应用技术点:
1.数据查询平台
- 之核心架构
- 之SQL重构及服务发现
- 之多任务自适配
- 之任务组件开发
- 自定义spark多数据源Source和Sink实战
- 之多租户权限设计和实现
所需技能点:
- SparkSQL执行流程分析(逻辑和物理)
- 平台设计分析和引擎模型设计分析
- 基于Antlr重构SparkSQL的语法
- 基于指令进行自适应任务管理和开发
- 多种数据源的Source和Sink的自适应开发
- 多租户的安全问题开发
- 前后端交互的模型开发
七、二次开发能力
互联网大厂往往很注重开发者的源码能力。
应用技术点:
1.Hadoop源码
源码核心、快速定位问题
2.Hadoop源码二次开发
源码二次开发提升性能与稳定性。
3.设计模式
参照设计模式设计代码,提高可维护性。
所需技能点:
- Namenode、Datanode的启动流程
- Namenode的元数据管理
- 写文件的流程
- Namenode的full GC导致Namenode异常退出的解决
- 对双缓冲的锁优化,提高性能
- 对Datanode的锁进行优化
- 源码涉及到的设计模式
参考微信原文链接
大数据【Java开发转大数据学习路线分解】(不断细化ing)相关推荐
- Java开发2018年值得学习的10大技术
转载自 Java开发2018年值得学习的10大技术 作为一个开发人员,我们最大的挑战就是保持自己了解新的技术.技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架. 就拿2017年来说,AR. ...
- 大数据平台开发:大数据系统架构模块解析
企业要开展大数据相关业务,首先就需要基于自身的需求,来设计搭建数据系统平台.而大数据系统平台的搭建,需要基于实际需求,来进行系统架构规划.今天我们就从大数据平台开发的角度,来对大数据系统架构模块做一个 ...
- 天津大宇宙java开发岗面试
天津大宇宙java开发岗面试 笔试 面试 笔试 刚开始来我们这里宣讲,介绍了一下天津大宇宙的一些情况,这是一家日本公司投资的企业.有想要去日本发展的可以考虑一下.我们面试的是java开发岗. 他们有个 ...
- Java开发面试高频考点学习笔记(每日更新)
Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...
- 用于Java开发机器学习和深度学习的Vector API(翻译)
本文介绍了用于Java开发机器学习和深度学习的Vector API 英语原文链接 https://software.intel.com/en-us/articles/vector-api-develo ...
- java要学mysql 吗_做JAVA开发需要把数据库学习到何种程度
原标题:做JAVA开发需要把数据库学习到何种程度 做JAVA开发需要把数据库学习到何种程度?智递科技小编和大家一起探讨交流: 1.开发人员对DB的掌握,越深入,你能做的事情就越多. 2.完成业务功能, ...
- 大恒相机开发(大恒SDK+opencv开发)笔记1
大恒相机开发(大恒SDK+opencv开发 一.项目简介 在大三上学期做过人脸识别的开发,刚好下学期老师手中有相机的项目,然后项目就到了我手上,下面是我开发这个项目的一些经历,进程还在调试中.笔记会按 ...
- 毕业倒计时 — 科班仔Java后端的点滴与学习路线规划
毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 文章目录 毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 一.前言 二.选好方向-"站在风口上,猪都能上天" 三.学 ...
- Java入门有捷径,学习路线很重要
Java入门有捷径,学习路线很重要,专业的学习路径,主要包含7个模块:入门知识→Java基础→Scala基础→Hadoop技术模块→Hadoop项目实战→Spark技术模块→大数据项目实战. 模块一: ...
- Java 从入门到高级学习路线
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Java 从入门到高级学习路线 <一>1.Jvm 部分 Jvm 内存模型.Jvm 内存结 ...
最新文章
- 安装sql 2005 闪退 连接到服务器失败。错误:0x80070424
- linux socket完成端口,“完成端口”模型(IOCP)
- XML 命名空间概述
- LeetCode 221. Maximal Square----动态规划--谷歌面试算法题--Python解法
- IDEA HTTP状态 404 - 未找到 请求的资源[/]不可用
- 使用 C++0x 时 make_shared 完美转发构造函数参数的测试编译器
- yandex禁止java script_Yandex最新版本浏览器新标签页按钮显示俄文的解决办法
- 19、20 Context API
- leetcode538. 把二叉搜索树转换为累加树
- android 打电话
- R-CNN 物体检测第一弹
- 数据库名、实例名、数据库域名、全局数据库名、服务名 我也迷糊了
- 微信小程序怎么扩展服务器,小程序服务器可扩展的配置方案
- 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(1)
- 从零开始学习python编程-从零开始学python
- [转] 39万的一节课:让你悟透“近朱者赤,近墨者黑”的道理
- canal与mysql高可用_canal 高可用介绍(4)
- 各种说明方法的答题格式_各种轴承安装方法说明及注意事项,避免这些坑提高轴承寿命...
- DEFCON 23|利用U盘60秒打开保险柜
- 【面向对象学习笔记day05】面向对象封装案例2+士兵突击+开发枪类+开发士兵类+身份运算符+is 与 == 区别
热门文章
- 背景图自适应屏幕大小
- vlan的基本指令_思科VLAN的基本配置命令
- Microsoft Word 设置底纹
- exlc表格怎么换行_excel如何换行_表格怎么换行上下换行
- 【MySQL】连接查询
- itext 生成pdf 化学表达式或者字符的上标,下标不显示
- Android Studio生成.jks文件
- 关于自我的剖析 —— 认知(面试:你的缺点是什么)
- 儿童用白炽灯和护眼灯哪个好?推荐适合儿童使用的护眼灯
- 单片机双字节数乘法运算实验_单片机入门——单片机的基本构成及工作原理(1)...