学习大数据要掌握哪些语言?哪些必备知识和技能呢?

学习大数据要掌握哪些语言?哪些必备知识和技能呢?大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。但是,大数据需要学习什么?01思维导图下面的是我之前整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具。  02大数据需要的语言Ja…

大家好,又见面了,我是你们的朋友全栈君。

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

01 思维导图

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

 

学习大数据要掌握哪些语言?哪些必备知识和技能呢?

 

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,大项目完成。听起来好像很简单,但是真正参与过大项目开发的人一定知道中间涉及的内容可不少。
大数据学习群142973723

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

  • 离线工具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树。然后,我们需要学习常见的算法,包括排序(插入排序、桶排序、堆排序、快速排序)、最大子阵列、最长公共子序列、最短路径和矩阵存储操作。

 

最后,掌握常用的数据分析和挖掘软件,如Matlab、SPSS和SAS等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137919.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 图片标注工具LabelImg使用教程[通俗易懂]

    图片标注工具LabelImg使用教程[通俗易懂]前言我们知道,图片标注主要是用来创建自己的数据集,方便进行深度学习训练。本篇博客将推荐一款十分好用的图片标注工具LabelImg,重点介绍其安装以及使用的过程。在此感谢原作者在github所做的贡献,这款工具是全图形界面,用Python和Qt写的,最牛的是其标注信息可以直接转化成为XML文件,与PASCALVOC以及ImageNet用的XML是一样的。Ubuntu源码安装由于Ubuntu系统自带p

  • Qt面试笔试题问答经验总结

    Qt面试笔试题问答经验总结相信很多人和我一样,虽然经常用qt做些东西,但其实对qt理解并不是很深,尤其在岗位有相关需要的时候也会遇到很多坑。感觉网上也比较少,所以根据个人的面试经验,总结了一些面试qt的问题。答案为我自己的理解总结,有问题还请大佬指出。1.为什么要用qt来做界面Qt的跨平台性很强,比如同样一套代码写好pro文件可以在windows/linux/Android等直接编译。2.信号槽机制在事件的处理方面…

  • 访问HTML可以,访问PHPfile not found

    访问HTML可以,访问PHPfile not found

    2021年10月19日
  • 免费接收邮箱短信「建议收藏」

    免费接收邮箱短信「建议收藏」
    如果你的手机号是移动的卡,请登录http://mail.10086.cn/,注册一个139邮箱。
    注册成功后,
    设置——邮件到达通知——开启——长短信
     
    这样就可拥有了一个免费的手机邮箱了,可以免费接收邮箱短信,可以支持350字。
     
     
     
     
    若您还拥有其它的常用邮箱,可以设置一个自动转发啊。

    2022年10月10日
  • mp3文件结构_mp3格式特点

    mp3文件结构_mp3格式特点MP3音频文件结构解析,包括文件首部的ID3V2、数据帧、以及位于文件末尾128字节的ID3V1等信息。

  • Linux Hook技术实践

    Linux Hook技术实践LInuxHook技术实践什么是hook简单的说就是别人本来是执行libA.so里面的函数的,结果现在被偷偷换成了执行你的libB.so里面的代码,是一种替换。为什么hook恶意代码注入调用常用库函数时打log改变常用库函数的行为,个性化怎么hook这个东西在win里面有现成的api,但是在linux里面却要主动修改ELF文件,或者修改动态库链接路径。我看网上写的好多挺麻烦的,而且还要调用

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号