大数据方向除了Hadoop还有什么可学的? 举报 理由 举报 取消 请详细说明 我是做Java的 想进去大数据开发 2017年12月22日 10 条回复 1272 次浏览 Hadoop,Java,大数,据分析,推荐,数据,电商
回复 ( 10 )
Hadoop只是一个工具而已。Big Data是一个研究领域,一个行业。
谢邀
看看这两张图吧,我收藏的,希望能够帮到你。
技术方面的储备
知识方面的储备
掌握这些做大数据的全栈工程师应该没问题了,掌握某个方向的话只要技术过硬也能迎娶白富美。对大数据感兴趣欢迎加我们微信:dashuju234 里面有我私人号 拉你进入学习交流群。
Hadoop居然成方向了………
擦咧
你要说真的自成一个方向的话
我觉得是软件系统,写一个这种系统级别架构,就有系统工程和软件工程的知识。
背后支撑大数据的其实
分布式系统,这才是一个方向吧。
机器间如何交流这里涉及计算机网络,也是一个方向。
分布式算法也是一个方向: snapshot, wave, election, deadlock detection, termination detection, routing, etc. 分布式喔,不是单机,知道分布式的最短路径怎么玩吗,很有意思的?嘿嘿嘿
数据库也是一个方向吧,有基础数据库知识,再扩充到分布式版本。
分布式的数据那么分散。
所以data visualization也是一个方向啊,而且绝逼好玩!个人觉得!
大数据表面的那堆算法
其实是统计学,也是方向。
细分就是烂大街啦,机器学习,深度学习,数据挖掘,自然语言分析,文本挖掘。
看深一些,表面都是肤浅的。
上面的基础知识搞定了,看哪种分布式架构或者算法都是有底且清晰的。
Hadoop, HBase, Spark等只是实现了上面一堆问题的工具而已。
别真的只有当码农的心。
我不是搞数据的,给你说几个当时坐在我边上的数据组的同事经常用的技术吧,除了hadoop,还有hbase,hive,storm ,spark, kafka,elasticsearch 当然了,基本都是在linux上搞,所以你的shell要比较熟,还会出一些报表什么的,也会用到python
哪里不会学哪里,你都不知道学什么,显然你需要的是先入门,对大数据开发有一个基本的了解,而不是限定在某一个工具上。
有个想法,做大数据。提出来大家拍砖
先给个图吧
组件介绍:
包括客户端(Client),Master,元数据节点,数据存储和计算节点
数据是如何组织的?
数据是水平切分的,分布在各个数据库存储节点上。分布策略可以自己定义,如hash,list,range等。
比较建议的是 hash + range 组合的分表策略,可以避免只用hash导致范围查询需要到比较多的节点上执行,也避免只用range导致数据不均衡的问题,结合了两者的优点,也避免了缺点
例如 现在有id为 1-1000w 的记录。需要分布到10个节点上,以10w为一个单元,先进行range,然后hash(按节点数取模)。
分表结果为
这个邀请我最喜欢了。
大数据领域有很多,下边细分的领域有很多。
首先要明白一个概念 : 大数据!= hadoop
首先要学习有关大象图标的含义:参见蜡笔小新。
有关大数据分为两个领域:实时大数据分析领域,统计分析大数据领域。
先说统计分析大数据领域。
hadoop 实际上只是一种分布式文件系统+mapreduce +流式处理。他处理流式问题很有优势,比如文件流。但60%的Hadoop应用是用在SQL统计领域。主要是数据仓库领域。
基于hadoop的SQL 统计领域就需要学一些有关SQL的东西,要想精通SQL ,先要搞定一本书《SQL 解惑》 当然LeetCode Online Judge上也有一些经典SQL题目可以做,不过太少,一个上午就能刷完。
基于hadoop平台的sql 有HIVE ,也有Greenplum ,Hive比较慢,未来可能用greenplum的会更多。
之前Greenplum 是基于postgresql 做的MPP 计算,现在EMC 弄了个基于hadoop的GreenPlum
这个都不影响这个Greenplum的性能。
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Greenplum是一种基于postgresql(开源数据库)的分布式数据库。其采用shared nothing架构(MPP),主机,操作系统,内存,存储都是自我控制的,不存在共享。主要由master host,segment host,interconnect三大部分组成。
这个领域还有很多商用的 sybase IQ (在sybase实习过,感情很深厚,很喜欢那里),teradata 有MPP的一体机,现在也有了基于Hadoop的数据分析系统。Oracle也有,但忘记名字了。
统计分析大数据比较容易,但也不简单,还分为数据分析和开发维护,数据分析可能要精通统计学,精通R EXCEL ,别问为什么EXCEL也出来了,因为领导都会EXCEL ,数据分析的OFFICE都很精通。
开发维护就比较辛苦了,《大话存储》 hadoop开发 java python shell 脚本 操作系统 等等都要很熟悉。
接下来就是实时大数据:
实时是最难的,留坑,或者看看有没有别人答。
大数据方向主要是分析方法,看问题的角度,Hadoop只是一个工具而已。理论上的知识应该就有很多可学,比如机器学习(我完全不懂)。更容易的可能是多接触业务,接触实际的问题,也许实际问题只需要很简单的方法就能解决。真正需要高科技的问题恐怕机会不多。
两个方向,一个是技术的,一个是分析的。
技术的,就是hadoop,不管怎么做都是技术,做架构,做平台。比如说做一个生产系统。其实也是编程界的码农。
而做大数据分析,就是挖掘数据的价值,改变数据的价值,帮助传统企业做成本控制等。
hadoop广义上讲代表了一种并行计算的思想及一系列符合这一思想的软件,狭义上讲只是hadoop,一般现在大众上意思在这两个之间吧