精华内容
下载资源
问答
  • 大数据需要学什么

    2018-10-10 21:36:01
    大数据需要学习什么?很多人问过我这个问题。每一次回答完都觉得自己讲得太片面了,总是没有一个合适的契机去好好总结这些内容,直到开始写这篇东西。大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代...

    阅读时间四分钟左右,适合大数据入门级读者阅读

    大数据需要学习什么?很多人问过我这个问题。每一次回答完都觉得自己讲得太片面了,总是没有一个合适的契机去好好总结这些内容,直到开始写这篇东西。大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。

    很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习扣群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系

    思维导图

    下面的是我整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具,这些就是作为大数据程序猿又爱又恨折腾得死去活来的东西了。

    image

    大数据需要的语言

    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难以实现的日常脚本。

    分布式计算

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

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

    比如这个大项目如何拆分?任务如何分配?每个人手头已有工作怎么办?每个人能力不一样怎么办?每个人开发进度不一样怎么办?开发过程中组员生病要请长假他手头的工作怎么办?指挥督促大家干活的组长请假了怎么办?最后代码合并过程出现问题怎么办?项目延期怎么办?项目最后黄了怎么办?

    仔细想想上面的夺命十连问,其实每一条都是对应了分布式计算可能会出现的问题,具体怎么对应大家思考吧我就不多说了,其实已经是非常明显了。也许有人觉得这些问题其实在多人开发的时候都不重要不需要特别去考虑怎么办,但是在分布式计算系统中不一样,每一个都是非常严重并且非常基础的问题,需要有很好的解决方案。

    最后提一下,分布式计算目前流行的工具有:

    离线工具Spark,MapReduce等

    实时工具Spark Streaming,Storm,Flink等

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

    分布式存储

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

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

    image

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

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

    分布式调度与管理

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

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

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

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

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

    说两句

    回答完这个问题,准备说点其他的。最近想了很久,准备开始写一系列的文章,记录这些年来的所得所想,感觉内容比较多不知从哪里开始,就画了文章开头的思维导图确定了大的方向,大家都知道大数据的主流技术变化迭代很快,不断会有新的东西加入,所以这张图里内容也会根据情况不断添加。细节的东西我会边写边定,大家也可以给我一些建议,我会根据写的内容实时更新这张图以及下面的目录。

    关于分组

    上面的大数据组件分组其实是比较纠结的,特别是作为一个有强迫症的程序猿,有些组件好像放在其他组也可以,而且我又不想要分太多的组看起来会很乱,所以上面这张图的分组方式会稍主观一些。分组方式肯定不是绝对的。

    举个例子,像kafka这种消息队列一般不会和其它的数据库或者像HDFS这种文件系统放在一起,但是它们同样都具备有分布式持久化存储的功能,所以就把它们放在一块儿了;还有openTsDB这种时序数据库,说是数据库实际上只是基于HBase上的一个应用,我觉得这个东西更侧重于查询和以及用何种方式存储,而不在于存储本身,所以就主观地放在了“分布式计算与查询”这一类,还有OLAP的工具也同样放在了这一组。

    展开全文
  • 学习要根据自身情况来定,如果你是零...具体可以按照如下体系:很多初学者,对大数据的概念都是模糊不清的,大数据什么,能做什么的时候,该按照什么线路去学习,完往哪方面发展,想深入了解,想学习的同...

    学习要根据自身情况来定,如果你是零基础,那就必须先从基础Java开始学起(大数据支持很多开发语言,但企业用的最多的还是JAVA),接下来学习数据结构、Linux系统操作、关系型数据库,夯实基础之后,再进入大数据的学习,具体可以按照如下体系:


    QQ图片20190323132122.png


    很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系


    第一阶段


    CORE JAVA (加**的需重点熟练掌握,其他掌握)


    Java基础**


    数据类型,运算符、循环,算法,顺序结构程序设计,程序结构,数组及多维数组


    面向对象**


    构造方法、控制符、封装


    继承**


    多态**


    抽象类、接口**


    常用类


    集合Collection、list**


    HashSet、TreeSet、Collection


    集合类Map**


    异常,File


    文件/流**


    数据流和对象流**


    线程(理解即可)


    网络通信(理解即可)


    第二阶段


    数据结构


    关系型数据库


    Linux系统操作


    Linux操作系统概述,安装Linux操作系统,图形界面操作基础,Linux字符界面基础,字符界面操作进阶,用户、组群和权限管理,文件系统管理,软件包管理与系统备份,Linux网络配置                 (主要掌握Linux操作系统的理论基础和服务器配置实践知识,同时通过大量实验,着重培养动手能力。了解Linux操作系统在行业中的重要地位和广泛的使用范围。在学习Linux的基础上,加深对服务器操作系统的认识和实践配置能力。加深对计算机网络基础知识的理解,并在实践中加以应用。掌握Linux操作系统的安装、命令行操作、用户管理、磁盘管理、文件系统管理、软件包管理、进程管理、系统监测和系统故障排除。掌握Linux操作系统的网络配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服务的配置与管理。为更深一步学习其它网络操作系统和软件系统开发奠定坚实的基础。与此同时,如果大家有时间把javaweb及框架学习一番,会让你的大数据学习更自由一些)


    重点掌握:


    常见算法


    数据库表设计,SQL语句,Linux常见命令


    第三阶段


    Hadoop阶段


    离线分析阶段


    实时计算阶段


    重点掌握:


    Hadoop基础,HDFS,MapReduce,分布式集群,Hive,Hbase,Sqoop


    ,Pig,Storm实时数据处理平台,Spark平台


    建议每个想要学习大数据的人,按照这个学习阶段循序渐进,不断完善自己的知识架构,提升自身的理论知识,然后找一个合适的项目,跟着团队去做项目,积累自己的经验,相信会在大数据的舞台上展现出很好的自己!


    转载于:https://blog.51cto.com/13854477/2367752

    展开全文
  • 是阿里云推出的一款移动App数据统计分析产品,提供通用的多维度用户行为分析,支持日志自主分析,助力移动开发者实现基于大数据技术的精细化运营、提升产品质量和体验、增强用户黏性。","btn1":"产品详情","link1":...

    {"optioninfo":{"dynamic":"true","static":"true"},"simplifiedDisplay":"newEdition","newCard":[{"link":"https://www.aliyun.com/product/man","icon":"man","title":"移动数据分析","des":"移动数据分析 (Mobile Analytics) 是阿里云推出的一款移动App数据统计分析产品,提供通用的多维度用户行为分析,支持日志自主分析,助力移动开发者实现基于大数据技术的精细化运营、提升产品质量和体验、增强用户黏性。","btn1":"产品详情","link1":"https://www.aliyun.com/product/man","btn2":"控制台","link2":"https://emas.console.aliyun.com/#/productList","btn3":"最新活动","link3":"https://www.aliyun.com/activity/emas/emas_promotion","infoGroup":[{"infoName":"产品文档","infoContent":{"firstContentName":"产品介绍","firstContentLink":"https://help.aliyun.com/document_detail/30021.html","lastContentLink":"https://help.aliyun.com/document_detail/30025.html","lastContentName":"快速接入"}},{"infoName":"用户指南","infoContent":{"firstContentName":"对接个性化推荐","firstContentLink":"https://help.aliyun.com/document_detail/30032.html","lastContentName":"指标说明","lastContentLink":"https://help.aliyun.com/document_detail/30030.html"}},{"infoName":"开发指南","infoContent":{"firstContentName":"iOS SDK手册","firstContentLink":"https://help.aliyun.com/document_detail/30035.html","lastContentName":"Android SDK手册","lastContentLink":"https://help.aliyun.com/document_detail/30037.html"}},{"infoName":"技术支持","infoContent":{"firstContentName":"钉钉官方答疑群","firstContentLink":"https://help.aliyun.com/document_detail/67284.html"}}]}],"card":[],"search":[],"infoCard":[],"title":{"mainTitle":"","subtitle":"","linkUrl":"","btnText":""},"visual":{"topbg":"https://img.alicdn.com/tfs/TB1EJ1xJkL0gK0jSZFxXXXWHVXa-1740-328.jpg","icon":"dbl-icon-product-man","textColor":"light"},"dataList":[],"sceneCard":[],"txt":[{"title":"适用场景","scenariosone":[]}]}

    {"$env":{"JSON":{}},"$page":{"env":"production"},"$context":{"optioninfo":{"dynamic":"true","static":"true"},"simplifiedDisplay":"newEdition","newCard":[{"link":"https://www.aliyun.com/product/man","icon":"man","title":"移动数据分析","des":"移动数据分析 (Mobile Analytics) 是阿里云推出的一款移动App数据统计分析产品,提供通用的多维度用户行为分析,支持日志自主分析,助力移动开发者实现基于大数据技术的精细化运营、提升产品质量和体验、增强用户黏性。","btn1":"产品详情","link1":"https://www.aliyun.com/product/man","btn2":"控制台","link2":"https://emas.console.aliyun.com/#/productList","btn3":"最新活动","link3":"https://www.aliyun.com/activity/emas/emas_promotion","infoGroup":[{"infoName":"产品文档","infoContent":{"firstContentName":"产品介绍","firstContentLink":"https://help.aliyun.com/document_detail/30021.html","lastContentLink":"https://help.aliyun.com/document_detail/30025.html","lastContentName":"快速接入"}},{"infoName":"用户指南","infoContent":{"firstContentName":"对接个性化推荐","firstContentLink":"https://help.aliyun.com/document_detail/30032.html","lastContentName":"指标说明","lastContentLink":"https://help.aliyun.com/document_detail/30030.html"}},{"infoName":"开发指南","infoContent":{"firstContentName":"iOS SDK手册","firstContentLink":"https://help.aliyun.com/document_detail/30035.html","lastContentName":"Android SDK手册","lastContentLink":"https://help.aliyun.com/document_detail/30037.html"}},{"infoName":"技术支持","infoContent":{"firstContentName":"钉钉官方答疑群","firstContentLink":"https://help.aliyun.com/document_detail/67284.html"}}]}],"card":[],"search":[],"infoCard":[],"title":{"mainTitle":"","subtitle":"","linkUrl":"","btnText":""},"visual":{"topbg":"https://img.alicdn.com/tfs/TB1EJ1xJkL0gK0jSZFxXXXWHVXa-1740-328.jpg","icon":"dbl-icon-product-man","textColor":"light"},"dataList":[],"sceneCard":[],"txt":[{"title":"适用场景","scenariosone":[]}]}}

    移动数据分析

    移动数据分析 (Mobile Analytics) 是阿里云推出的一款移动App数据统计分析产品,提供通用的多维度用户行为分析,支持日志自主分析,助力移动开发者实现基于大数据技术的精细化运营、提升产品质量和体验、增强用户黏性。

    展开全文
  • - 学习大数据需要的基础- 需要学什么很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:...

    - 学习大数据需要的基础

    image.png


    - 需要学什么

    image.png

    很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系


    转载于:https://blog.51cto.com/13854477/2349225

    展开全文
  • 大数据方向工作介绍 大数据方向的工作目前分为三个主要方向: 大数据工程师 数据分析师 大数据科学家 其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的方向吧) 二.大数据工程师的技能...
  • 以后想要做大数据相关的工作,需要学习哪些技术知识? 罗马不是一天建成的,大数据工程师也不是短时间能锻造的。想要成为大数据开发工程师,也要看你是否骨骼惊奇,天赋过人!在学习大数据之前,你还需...
  • 想转行做大数据技术相关的工作,需要学习语言还是学什么? 一.大数据方向工作介绍 二.大数据工程师的技能要求 三.大数据学习路径 四.学习资源推荐(书籍、博客、网站) ...
  • 一、如何区分三个大数据热门职业——数据科学家、数据工程师、数据分析师 ...具体是做什么工作的?需要哪些技能?让我们一起来看看吧。 这3个职业是如何定位的? 数据科学家是个什么样的存在 数据科学家是...
  • 一、如何区分三个大数据热门职业——数据科学家、数据工程师、数据分析师 ...具体是做什么工作的?需要哪些技能?让我们一起来看看吧。 这3个职业是如何定位的? 数据科学家是个什么样的存在 数据科学家是...
  • 对于转大数据开发工程师需要什么技能,下面是针对每个技能的一个解释,希望能够帮助到你,你可以先关注我的知乎专栏:学习大数据首先我们要学习Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不...
  • 以后想要做大数据相关的工作,需要学习哪些技术知识? 罗马不是一天建成的,大数据工程师也不是短时间能锻造的。想要成为大数据开发工程师,也要看你是否骨骼惊奇,天赋过人!在学习大数据之前,你还需要有一定的...
  • 相信很多大数据的初学者或者想转行大数据开发的朋友最关注的问题就是大数据开发到底可以做什么什么大数据? "大数据"这个词频繁的出现在媒体是2007年之后的事了。尽管已经过去了10多年的时间,但是大家对它的...
  • Java和大数据如何选 ...当然,学习大数据需要的java技术有限,主要学习javaSE和部分javaEE知识点。 那下面就谈谈java和大数据如何选择 1、java 可以称之为常青树,我个人最早也是java出身的。...
  • 大数据方向的工作目前分为三个主要方向: 01.大数据工程师 ...很多初学者,对大数据的概念都是模糊不清的,大数据什么,能做什么的时候,该按照什么线路去学习,完往哪方面发展,想深入了解,想...
  • 以后想要做大数据相关的工作,需要学习哪些技术知识? 罗马不是一天建成的,大数据工程师也不是短时间能锻造的。想要成为大数据开发工程师,也要看你是否骨骼惊奇,天赋过人!在学习大数据之前,你还需要有一定的基础...
  • 大数据的发展已经进入发展的快车道,当前医疗行业、能源行业、通信行业、零售业、金融行业、体育行业等各行业都可以从其数据...首先大数据开发需要学什么? 第一阶段Java语言基础,此阶段是大数据刚入门阶段,主要是...
  • 大数据入门学习路线

    2020-09-06 21:32:55
    大数据学什么? 想起之前自己大三选择专业方向的时候,其实根本不清楚大数据这个方向毕业以后到底可以些什么,只是当时周围的人都告诉我,大数据很火热,很挣钱,然后就茫然的选择了大数据方向。选完之后,我也不...
  • 需要做什么? 直白的解释大数据运维,就是有一些数据需要进行维护,运维的意思在这里就是维护。作为一名合格的大数据运维,需要承担的责任繁琐而严谨,今天就来了解其中的一部分,首先大数据运维需要承担团队的...
  • 很多初学者,对大数据的概念都是模糊不清的,大数据什么,能做什么的时候,该按照什么线路去学习,完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及...
  • 大数据又称黑暗数据,是指人脑无法处理的...以后想要做大数据相关的工作,那么大数据开发需要学习哪些技术知识? 一、学习大数据需要的基础 1、javaSE、EE(SSM) 90%的大数据框架都是Java写的 2、MySQL SQLo...
  • 今天加米谷大数据就来简单介绍一下Hadoop的简史,以及学习Hadoop前要哪些准备。 狭义上,Hadoop就是单独指代Hadoop这个软件; 广义上,Hadoop指代大数据的一个生态圈,包括很多其他的软件。 Hadoop的起源 ...
  • 要转行做大数据,首先要学习大数据,那么大数据培训要什么基础?学习难度如何呢? 目前来说,大数据的价值已经得到了广泛的认可,对企业而言,这样的新技术热点,是需要追赶的,因此纷纷开始投入大数据,也因此需要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 382
精华内容 152
关键字:

做大数据需要学什么