要成为一名大数据开发工程师必备哪些技能?
首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。
Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。
Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。
Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。
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相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。
Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。
Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。
首先我们要知道对于大数据开发工程师需要具备的技能,下面我们分别来说明:
用人单位对于大数据开发人才的能力要求有
技能要求:
1.精通JAVA开发语言,同时熟悉Python、Scala开发语言者优先;
2.熟悉Spark或Hadoop生态圈技术,具有源码阅读及二次开发工作经验;精通Hadoop生态及高性能缓存相关的各种工具,有源码开发实战经验者优先;
3.熟练使用SQL,熟悉数据库原理,熟悉至少一种主流关系型数据库;熟悉Linux操作系统,熟练使用常用命令,熟练使用shell脚本;熟悉ETL开发,能熟练至少一种ETL(talend、kettle、ogg等)转化开源工具者优先;
4.具有清晰的系统思维逻辑,对解决行业实际问题有浓厚兴趣,具备良好的沟通协调能力及学习能力。
以上就是想要成为大数据人才需要具备的技能
那么如何具备这些能力,怎么学习了,对于大多数人来说,目前只有通过参加大数据的学习,才能够系统的掌握以上的大数据技能,从而胜任大数据工程师的工作。
2019-08-22 · 大数据人才培养的机构
用人单位对于大数据开发人才的技能要求:
1. 精通Java技术知识,熟悉Spark、kafka、Hive、HBase、zookeeper、HDFS、MR等应用设计及开发;
2. 了解python/shell等脚本语言;。
3. 熟悉大数据平台架构,对ETL、数据仓库等有一定了解;。
4. 有数据可视化、数据分析、数学模型建立相关经验者优先考虑。
5. 有爬虫系统开发经验者优先。
2018-10-17 · 百度认证:云南新华电脑职业培训学校官方账号
1、 掌握至少一种数据库开发技术:Oracle、Teradata、DB2、Mysql等,灵活运用SQL实现海量数据ETL加工处理;
2、 熟悉Linux系统常规shell处理命令,灵活运用shell做的文本处理和系统操作;
3、 有从事分布式数据存储与计算平台应用开发经验,熟悉Hadoop生态相关技术并有相关实践经验着优先,重点考察Hdfs、Mapreduce、Hive、Hbase;
4、 熟练掌握一门或多门编程语言,并有大型项目建设经验者优先,重点考察Java、Python、Perl;
5、 熟悉数据仓库领域知识和技能者优先,包括但不局限于:元数据管理、数据开发测试工具与方法、数据质量、主数据管理;
6、 掌握实时流计算技术,有storm开发经验者优先。
灵活运用shell做的文本处理和系统操作;熟练掌握一门或多门编程语言,并有大型项目建设经验者优先,重点考察Java、Python、Perl;方面Java是目前使用最为广泛的编程语言,它具有的众多特性,特别适合作为大数据应用的开发语言;另一方面Hadoop以及其他大数据处理技术很多都是用Java开发,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas,因此学习Hadoop的一个首要条件,就是掌握Java语言编程。千锋教育截止目前已在北京、深圳、上海、广州、郑州、成都、大连等20余个核心城市建立直营校区,服务近20万学员、近千所高校和数万家企业。