Java大数据学习

背景
近年来大数据BigData、人工智能AI、物联网Iot等行业发展迅猛,很多人都想要从事大数据技术开发工作,但是,请问要怎么做,路线是什么?从哪里开始学?学哪些?这是一个大问题。对于我自己来说,最近也在学一些大数据开发相关的技术,所以之前整理了一份《大数据技术学习路线》,希望对你有所帮助。

学习规划
总共分为五大部分,分别是:

大数据技术基础
离线计算Hadoop
流式计算Storm
内存计算Spark
机器学习算法
目前我学完了约60%的内容,但还有很多需要多实践、和深研的地方,我也在继续学习,和摸索当中。希望你早日能成为大数据技术开发中的一员,然后大家一起学习,和技术交流。

技术说明
这里我只列举了技术点,给你提供了一个学习方向,具体实现内容可以借助网络去学习了,相信这方面你应该懂得了如何借助网络力量,然后进行自我学习了。

大数据技术基础
linux操作基础
linux系统简介与安装
linux常用命令–文件操作
linux常用命令–用户管理与权限
linux常用命令–系统管理
linux常用命令–免密登陆配置与网络管理
linux上常用软件安装
linux本地yum源配置及yum软件安装
linux防火墙配置
linux高级文本处理命令cut、sed、awk
linux定时任务crontab
shell编程
shell编程–基本语法
shell编程–流程控制
shell编程–函数
shell编程–综合案例–自动化部署脚本
内存数据库redis
redis和nosql简介
redis客户端连接
redis的string类型数据结构操作及应用-对象缓存
redis的list类型数据结构操作及应用案例-任务调度队列
redis的hash及set数据结构操作及应用案例-购物车
redis的sortedset数据结构操作及应用案例-排行榜
布式协调服务zookeeper
zookeeper简介及应用场景
zookeeper集群安装部署
zookeeper的数据节点与命令行操作
zookeeper的java客户端基本操作及事件监听
zookeeper核心机制及数据节点
zookeeper应用案例–分布式共享资源锁
zookeeper应用案例–服务器上下线动态感知
zookeeper的数据一致性原理及leader选举机制
java高级特性增强
Java多线程基本知识
Java同步关键词详解
java并发包线程池及在开源软件中的应用
Java并发包消息队里及在开源软件中的应用
Java JMS技术
Java动态代理反射
轻量级RPC框架开发
RPC原理学习
Nio原理学习
Netty常用API学习
轻量级RPC框架需求分析及原理分析
轻量级RPC框架开发
离线计算Hadoop
hadoop快速入门
hadoop背景介绍
分布式系统概述
离线数据分析流程介绍
集群搭建
集群使用初步
HDFS增强
HDFS的概念和特性
HDFS的shell(命令行客户端)操作
HDFS的工作机制
NAMENODE的工作机制
java的api操作
案例1:开发shell采集脚本
MAPREDUCE详解
自定义hadoop的RPC框架
Mapreduce编程规范及示例编写
Mapreduce程序运行模式及debug方法
mapreduce程序运行模式的内在机理
mapreduce运算框架的主体工作流程
自定义对象的序列化方法
MapReduce编程案例
MAPREDUCE增强
Mapreduce排序
自定义partitioner
Mapreduce的combiner
mapreduce工作机制详解
MAPREDUCE实战
maptask并行度机制-文件切片
maptask并行度设置
倒排索引
共同好友
federation介绍和hive使用
Hadoop的HA机制
HA集群的安装部署
集群运维测试之Datanode动态上下线
集群运维测试之Namenode状态切换管理
集群运维测试之数据块的balance
HA下HDFS-API变化
hive简介
hive架构
hive安装部署
hvie初使用
hive增强和flume介绍
HQL-DDL基本语法
HQL-DML基本语法
HIVE的join
HIVE 参数配置
HIVE 自定义函数和Transform
HIVE 执行HQL的实例分析
HIVE最佳实践注意点
HIVE优化策略
HIVE实战案例
Flume介绍
Flume的安装部署
案例:采集目录到HDFS
案例:采集文件到HDFS
流式计算Storm
Storm从入门到精通
Storm是什么
Storm架构分析
Storm架构分析
Storm编程模型、Tuple源码、并发度分析
Storm WordCount案例及常用Api分析
Storm集群部署实战
Storm+Kafka+Redis业务指标计算
Storm源码下载编译
Strom集群启动及源码分析
Storm任务提交及源码分析
Storm数据发送流程分析
Storm通信机制分析
Storm消息容错机制及源码分析
Storm多stream项目分析
编写自己的流式任务执行框架
Storm上下游及架构集成
消息队列是什么
Kakfa核心组件
Kafka集群部署实战及常用命令
Kafka配置文件梳理
Kakfa JavaApi学习
Kafka文件存储机制分析
Redis基础及单机环境部署
Redis数据结构及典型案例
Flume快速入门
Flume+Kafka+Storm+Redis整合
内存计算Spark
scala编程
scala编程介绍
scala相关软件安装
scala基础语法
scala方法和函数
scala函数式编程特点
scala数组和集合
scala编程练习(单机版WordCount)
scala面向对象
scala模式匹配
actor编程介绍
option和偏函数
实战:actor的并发WordCount
柯里化
隐式转换
AKKA与RPC
Akka并发编程框架
实战:RPC编程实战
Spark快速入门
spark介绍
spark环境搭建
RDD简介
RDD的转换和动作
实战:RDD综合练习
RDD高级算子
自定义Partitioner
实战:网站访问次数
广播变量
实战:根据IP计算归属地
自定义排序
利用JDBC RDD实现数据导入导出
WorldCount执行流程详解
RDD详解
RDD依赖关系
RDD缓存机制
RDD的Checkpoint检查点机制
Spark任务执行过程分析
RDD的Stage划分
Spark-Sql应用
Spark-SQL
Spark结合Hive
DataFrame
实战:Spark-SQL和DataFrame案例
SparkStreaming应用实战
Spark-Streaming简介
Spark-Streaming编程
实战:StageFulWordCount
Flume结合Spark Streaming
Kafka结合Spark Streaming
窗口函数
ELK技术栈介绍
ElasticSearch安装和使用
Storm架构分析
Storm编程模型、Tuple源码、并发度分析
Storm WordCount案例及常用Api分析
Spark核心源码解析
Spark源码编译
Spark远程debug
Spark任务提交行流程源码分析
Spark通信流程源码分析
SparkContext创建过程源码分析
DriverActor和ClientActor通信过程源码分析
Worker启动Executor过程源码分析
Executor向DriverActor注册过程源码分析
Executor向Driver注册过程源码分析
DAGScheduler和TaskScheduler源码分析
Shuffle过程源码分析
Task执行过程源码分析
机器学习算法
python及numpy库
机器学习简介
机器学习与python
python语言–快速入门
python语言–数据类型详解
python语言–流程控制语句
python语言–函数使用
python语言–模块和包
phthon语言–面向对象
python机器学习算法库–numpy
机器学习必备数学知识–概率论
常用算法实现
knn分类算法–算法原理
knn分类算法–代码实现
knn分类算法–手写字识别案例
lineage回归分类算法–算法原理
lineage回归分类算法–算法实现及demo
朴素贝叶斯分类算法–算法原理
朴素贝叶斯分类算法–算法实现
朴素贝叶斯分类算法–垃圾邮件识别应用案例
kmeans聚类算法–算法原理
kmeans聚类算法–算法实现
kmeans聚类算法–地理位置聚类应用
决策树分类算法–算法原理
决策树分类算法–算法实现
推荐博客:http://blog.youkuaiyun.com/hemin1003/article/category/6985523/

http://blog.fens.me/series-hadoop-family/

http://www.powerxing.com/tag/hadoop/
--------------------- 
作者:贱贱的剑剑 
来源:优快云 
原文:https://blog.youkuaiyun.com/m2606707610/article/details/80600777 
版权声明:本文为博主原创文章,转载请附上博文链接!

### Java大数据学习资源 对于希望深入理解Java以及其在大数据领域应用的学习者来说,可以从多个方面着手准备。一方面,在掌握基础编程技能之后,可以探索更复杂的主题如多线程开发[^1]。这不仅有助于提高程序性能,还能够更好地处理并发任务。 #### 多线程开发入门 了解如何创建并管理线程是至关重要的第一步。通过研究不同类型的锁机制、同步方法和其他高级特性来增强应用程序的功能性和稳定性。 #### 单线程对比多线程的优势 相较于传统的单线程模型,采用多线程架构能显著提升系统的响应速度和吞吐量。特别是在面对I/O密集型操作或者需要长时间运行的任务时表现尤为明显。 #### 实际应用场景中的运用 实际项目里经常可以看到利用多线程优化网络爬虫效率的例子;或是为了加速大规模数据分析而设计的分布式计算框架Hadoop/Spark等工具也大量依赖于这种技术实现高效的数据处理流程。 #### 使用过程中的注意事项 当涉及到共享资源访问控制等问题时要格外小心谨慎,避免死锁现象的发生。同时也要注意合理配置线程数量以防止过度消耗内存空间影响整体性能。 #### 数据库连接池的重要性 针对频繁建立断开数据库链接所带来的额外负担,引入了专门用于管理和重用这些连接对象的技术——即所谓的“数据库连接池”。它可以在一定程度上缓解上述问题带来的负面影响,并进一步改善事务提交的速度与可靠性。 除了以上提到的内容外,还可以关注一些特定领域的知识点比如JVM指令集及其调试命令(`jps`, `jstack`, `jinfo`, `jmap`...),这些都是日常工作中非常实用的小技巧[^3]。 最后但同样重要的是,实践才是检验真理的标准之一。尝试参与开源社区贡献代码或完成个人感兴趣的项目将是巩固所学知识的有效途径[^2]。 ```python print("理论结合实践才能真正掌握一门语言和技术栈") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值