大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。但是,大数据需要学习什么?

01 思维导图

我还是要推荐下我自己创建的大数据分享群142973723,这是大数据学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习的大数据资料和入门教程。

下面的是我之前整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具。

02 大数据需要的语言Java

java可以说是大数据最基础的编程语言,据我这些年的经验,我接触的很大一部分的大数据开发都是从Jave Web开发转岗过来的(当然也不是绝对我甚至见过产品转岗大数据开发的,逆了个天)。

一是因为大数据的本质无非就是海量数据的计算,查询与存储,后台开发很容易接触到大数据量存取的应用场景

二就是java语言本事了,天然的优势,因为大数据的组件很多都是用java开发的像HDFS,Yarn,Hbase,MR,Zookeeper等等,想要深入学习,填上生产环境中踩到的各种坑,必须得先学会java然后去啃源码。

说到啃源码顺便说一句,开始的时候肯定是会很难,需要对组件本身和开发语言都有比较深入的理解,熟能生巧慢慢来,等你过了这个阶段,习惯了看源码解决问题的时候你会发现源码真香。

Scala

scala和java很相似都是在jvm运行的语言,在开发过程中是可以无缝互相调用的。Scala在大数据领域的影响力大部分都是来自社区中的明星Spark和kafka,这两个东西大家应该都知道(后面我会有文章多维度介绍它们),它们的强势发展直接带动了Scala在这个领域的流行。

Python和Shell

shell应该不用过多的介绍非常的常用,属于程序猿必备的通用技能。python更多的是用在数据挖掘领域以及写一些复杂的且shell难以实现的日常脚本。

03 分布式计算

什么是分布式计算?分布式计算研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多服务器进行处理,最后把这些计算结果综合起来得到最终的结果。

举个栗子,就像是组长把一个大项目拆分,让组员每个人开发一部分,最后将所有人代码merge,大项目完成。听起来好像很简单,但是真正参与过大项目开发的人一定知道中间涉及的内容可不少。

分布式计算目前流行的工具有:

离线工具Spark,MapReduce等

实时工具Spark Streaming,Storm,Flink等

这几个东西的区别和各自的应用场景我们之后再聊。

04 分布式存储

传统的网络存储系统采用的是集中的存储服务器存放所有数据,单台存储服务器的io能力是有限的,这成为了系统性能的瓶颈,同时服务器的可靠性和安全性也不能满足需求,尤其是大规模的存储应用。

分布式存储系统,是将数据分散存储在多台独立的设备上。采用的是可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

上图是hdfs的存储架构图,hdfs作为分布式文件系统,兼备了可靠性和扩展性,数据存储3份在不同机器上(两份存在同一机架,一份存在其他机架)保证数据不丢失。由NameNode统一管理元数据,可以任意扩展集群。

主流的分布式数据库有很多hbase,mongoDB,GreenPlum,redis等等等等,没有孰好孰坏之分,只有合不合适,每个数据库的应用场景都不同,其实直接比较是没有意义的,后续我也会有文章一个个讲解它们的应用场景原理架构等。

05 分布式调度与管理

现在人们好像都很热衷于谈"去中心化",也许是区块链带起的这个潮流。但是"中心化"在大数据领域还是很重要的,至少目前来说是的。

分布式的集群管理需要有个组件去分配调度资源给各个节点,这个东西叫yarn;

需要有个组件来解决在分布式环境下"锁"的问题,这个东西叫zookeeper;

需要有个组件来记录任务的依赖关系并定时调度任务,这个东西叫azkaban。

当然这些“东西”并不是唯一的,其实都是有很多替代品的,只是举了几个比较常用的例子。

大数据产业在科学发展的趋势中越来越受欢迎。大数据工程师需要学习哪些知识和技能?

首先,数据可视化。

R语言不仅是一种编程语言,而且具有强大的统计计算功能和方便的数据可视化系统。这里,我推荐你读一本叫做R数据可视化手册的书。《R数据可视化手册》主要关注R的图形系统,指导读者通过图形系统实现数据可视化。本书提供了超过150种快速绘制高质量图形的技术,每种技术都用于满足特定的绘图要求。

Python已经看到了许多新的Python数据可视化库,它们已经弥补了一些空白。事实上,MatPoTLIB已经成为数据可视化最重要的数据库。此外,还有许多其他的库,如VISPY、BoKeh、Seabn、PyGa、Pyura和NETWorkX。这些库中的一些是建立在MatPultLB上的,有些还具有其他功能。

ECTARS和D3.JS是基于HTML5的两个纯Java图表库。它们提供直观、生动、交互式和可定制的数据可视化图表。创新的拖放计算、数据视图、范围漫游等特性极大地增强了用户体验,赋予用户挖掘和集成数据的能力。它具有Mashup图、拖放计算、数据视图制作、动态类型切换、图例切换、数据区域选择、范围漫游、多维堆栈等功能。

在Excel中可以选择大量的公式和函数。Microsoft Excel可用于执行计算、分析信息以及管理电子表格或网页中的数据信息列表和数据图表。它可以实现许多方便的功能,给用户带来方便。事实上,Excel可以完全满足日常工作中图表制作和数据可视化的需要。因此,要进入大数据产业,学习Excel是基础。大数据学习小群142973723

二。机器学习

机器学习的基础包括聚类、时间序列、推荐系统、回归分析、文本挖掘、决策树、支持向量机、贝叶斯分类和神经网络。这些基本知识仅仅通过听名字是无法理解的,但如果你掌握了统计和概率的基本知识,你就可以很容易地掌握这些不可理解的名词。因此,有必要对机器学习前的统计和概率进行研究。

在完成统计学和概率学的基础研究之后,你可以选择一个或两个机器学习工具进行实践。百度的谷歌和百度脑的张量是优秀的机器学习框架。

三。算法

对于程序员来说,该算法并不太奇怪,首先,我们需要了解什么是数据结构,包括堆栈、队列、链表、哈希表、二叉树、红黑树、B树。然后,我们需要学习常见的算法,包括排序(插入排序、桶排序、堆排序、快速排序)、最大子阵列、最长公共子序列、最短路径和矩阵存储操作。

大数据要掌握哪些语言?怎样才能学好大数据?相关推荐

  1. 怎么才能学好大数据开发 一般能从事哪些岗位

    怎么才能学好大数据开发?一般能从事哪些岗位?IT开发行业一直是公认的高薪人才聚集地,吸引了无数的人投身其中.目前市场上的热门编程语言很多,大数据技术绝对是其中颇具典型的一个.随着互联网技术的迅猛发展以 ...

  2. C语言无符号双字节乘法,华为OJ机试标题:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘) 题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出 ...

  3. 数据采样 22382份,如何才能学好Python并找到工作

    如今绝大多数互联网公司(谷歌.腾讯.阿里.百度.知乎等)的很多职位要求应聘者必须具有 Python技能:学会了 Python 等于手握他们的敲门砖?: 0 编码基础的你,学会 Python 以后,你一 ...

  4. c语言程序设计数据存储方案,c语言程序设计“第02章数据的存储及运算.ppt

    [Return] 第2章 数据的存储与运算 2.1 常量和变量 2.2 整型数据 2.3 实型数据 2.4 字符型数据 2.5 符号常量 2.6 算术运算符和算术表达式 2.7 C运算符和C表达式 [ ...

  5. 循环相乘取整法C语言,华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出乘积,如:151851741 样例输入: 1234567 123 样例输出: 1518 ...

  6. r语言数据变量分段_R语言:统计多个数据框中分类变量各值的频数

    导读 查看文件.获取ID 读取数据表 读取数据表 一.查看文件.获取ID 关键参数: list.files(pattern="条件") # 根据条件获取文件名 strsplit(向 ...

  7. 《数据统计分析及R语言编程(第二版)》练习题总结(一)

    将教材第30页习题4的我国财政1978-2008的数据输入到电子表格中,并完成如下操作. (1)用R语言read.table和read.csv函数读取数据:分别显示前6行和后6行数据. 用R语言rea ...

  8. excel数据平均分配给多人_excel表格数据分配-用Excel怎么才能将组数据平均分配给几个人...

    如何用EXCEL快速分配数据? 表格按排序,年龄就按大小排列一样的年龄就一起了. 在表格右侧找一空做序号,1.2.3.4.5.6.7.8.9.10.再继续做1.2.3.....8.9.10,..... ...

  9. 什么是大数据口子_大数据分析师年薪几十万,学什么专业才能从事大数据?

    近几年,大数据为各个领域带来了全新的变革,大数据的重要性越来越被企业和国家所看到,大数据工作者的需求再次被无限放大,他们的薪资和社会地位也在不断上涨.马云在演讲中就提到,未来的时代将不是IT时代,而是 ...

最新文章

  1. Java项目:网上花店商城系统(java+jsp+servlert+mysql+ajax)
  2. 结合Apache和Tomcat实现集群和负载均衡
  3. python中tolist_高效的张量操作 Pytorch中就占5种
  4. MaxCompute技术人背后的故事:从ApacheORC到AliORC
  5. 分布式系统关联查询_一文详解分布式系统 | 留言送书
  6. python自动化写作_50行代码让python自动生成文章
  7. ermaster连接oracle数据库表,window连接远程服务器报函数不支持之解决方案
  8. # 淘宝客导购小程序最新版本
  9. NXP的CLRC663和ST的M24LR04通信时所遇到的问题
  10. 阿里云loT物联网学习
  11. 图解 FAT 文件系统基础知识
  12. Android USB电源管理
  13. Linux:error while loading shared libraries: /usr/lib/xx.so.xx: file too short
  14. 打通零售新渠道,实现线上线下业务一体化
  15. 【解决笔记本黑屏问题】
  16. 渗透工具-Burpsuite
  17. javaSE试题(一)
  18. 服务器硬盘sas和sata有什么区别
  19. Python 练习题1
  20. 利用老路由器来简单监控3D打印机

热门文章

  1. 斐讯n1 linux升级内核,斐讯N1盒子OpenWRT固件升级全记录
  2. 技术干货 | 录屏采集实现教程 —— Windows桌面端
  3. 碳纤维复合材料加固钢筋混凝土的极化作用
  4. 跟着明星在元宇宙炒房,靠谱吗?
  5. 湮没在先秦的【文士道】精神
  6. 「涪陵榨菜」使用区块链溯源系统?回应:看榨菜集团的安排
  7. VBA中数组72变(随心所欲复制)
  8. world标题是大写数字,题注要阿拉伯数字,交叉引用不会出错
  9. 为什么说电销企业需要智能电销系统原因?
  10. 【毕业设计】基于微信小程序的奶茶店奶茶点单系统