大数据究竟学的什么,学会哪些才能入行?


你好!我是@程序员学习很高兴回答你的提问 。希望对你有所帮助 。谢谢!

大数据究竟学的什么,学会哪些才能入行?

文章插图
学习大数据首先我们要学习Java语言和Linux操作系统 。这两个是学习大数据的基础 。学习的顺序不分前后 。
Java
大家都知道Java的方向有JavaSE、JavaEE、JavaME 。学习大数据要学习那个方向呢?只需要学习Java的标准版JavaSE就可以了 。像Servlet、JSP、Tomcat、Struts、Spring、Hibernate 。Mybatis都是JavaEE方向的技术在大数据技术里用到的并不多 。只需要了解就可以了 。当然Java怎么连接数据库还是要知道的 。像JDBC一定要掌握一下 。
有同学说Hibernate或Mybites也能连接数据库啊 。为什么不学习一下 。我这里不是说学这些不好 。而是说学这些可能会用你很多时间 。到最后工作中也不常用 。我还没看到谁做大数据处理用到这两个东西的 。当然你的精力很充足的话 。可以学学Hibernate或Mybites的原理 。不要只学API 。这样可以增加你对Java操作数据库的理解 。因为这两个技术的核心就是Java的反射加上JDBC的各种使用 。
Linux
因为大数据相关软件都是在Linux上运行的 。所以Linux要学习的扎实一些 。学好Linux对你快速掌握大数据相关技术会有很大的帮助 。能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置 。能少踩很多坑 。学会shell就能看懂脚本这样能更容易理解和配置大数据集群 。还能让你对以后新出的大数据技术学习起来更快 。
好说完基础了 。再说说还需要学习哪些大数据技术 。可以按我写的顺序学下去 。
Hadoop
这是现在流行的大数据处理平台几乎已经成为大数据的代名词 。所以这个是必学的 。Hadoop里面包括几个组件HDFS、MapReduce和YARN 。HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面 。MapReduce是对数据进行处理计算的 。它有个特点就是不管多大的数据只要给它时间它就能把数据跑完 。但是时间可能不是很快所以它叫数据的批处理 。
YARN是体现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运行了 。这样就能更好的利用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了 。让它直接跑在现有的hadoop yarn上面就可以了 。
其实把Hadoop的这些组件学明白你就能做大数据的处理了 。只不过你现在还可能对\"大数据\"到底有多大还没有个太清楚的概念 。听我的别纠结这个 。等以后你工作了就会有很多场景遇到几十T/几百T大规模的数据 。到时候你就不会觉得数据大真好 。越大越有你头疼的 。当然别怕处理这么大规模的数据 。因为这是你的价值所在 。让那些个搞Javaee的php的html5的和DBA的羡慕去吧 。
记住学到这里可以作为你学大数据的一个节点 。
Zookeeper
【大数据究竟学的什么,学会哪些才能入行?】这是个万金油 。安装Hadoop的HA的时候就会用到它 。以后的Hbase也会用到它 。它一般用来存放一些相互协作的信息 。这些信息比较小一般不会超过1M 。都是使用它的软件对它有依赖 。对于我们个人来讲只需要把它安装正确 。让它正常的run起来就可以了 。
Mysql
我们学习完大数据的处理了 。接下来学习学习小数据的处理工具mysql数据库 。因为一会装hive的时候要用到 。mysql需要掌握到什么层度那?你能在Linux上把它安装好 。运行起来 。会配置简单的权限 。修改root的密码 。创建数据库 。这里主要的是学习SQL的语法 。因为hive的语法和这个非常相似 。
Sqoop
这个是用于把Mysql里的数据导入到Hadoop里的 。当然你也可以不用这个 。直接把Mysql数据表导出成文件再放到HDFS上也是一样的 。当然生产环境中使用要注意Mysql的压力 。
Hive
这个东西对于会SQL语法的来说就是神器 。它能让你处理大数据变的很简单 。不会再费劲的编写MapReduce程序 。有的人说Pig那?它和Pig差不多掌握一个就可以了 。
Oozie
既然学会Hive了 。我相信你一定需要这个东西 。它可以帮你管理你的Hive或者MapReduce、Spark脚本 。还能检查你的程序是否执行正确 。出错了给你发报警并能帮你重试程序 。最重要的是还能帮你配置任务的依赖关系 。我相信你一定会喜欢上它的 。不然你看着那一大堆脚本 。和密密麻麻的crond是不是有种想屎的感觉 。
Hbase
这是Hadoop生态体系中的NOSQL数据库 。他的数据是按照key和value的形式存储的并且key是唯一的 。所以它能用来做数据的排重 。它与MYSQL相比能存储的数据量大很多 。所以他常被用于大数据处理完成之后的存储目的地 。

推荐阅读