要成为一名大数据开发工程师必备哪些技能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了要成为一名大数据开发工程师必备哪些技能?相关的知识,希望对你有一定的参考价值。
首先我们要了解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的。
参考技术A 掌握至少一种数据库开发技术:Oracle、Teradata、DB2、Mysql等,灵活运用SQL实现海量数据ETL加工处理;有从事分布式数据存储与计算平台应用开发经验,熟悉Hadoop生态相关技术并有相关实践经验着优先,重点考察Hdfs、Mapreduce、Hive、Hbase;熟悉数据仓库领域知识和技能者优先,包括但不局限于:元数据管理、数据开发测试工具与方法、数据质量、主数据管理;熟悉Linux系统常规shell处理命令。灵活运用shell做的文本处理和系统操作;熟练掌握一门或多门编程语言,并有大型项目建设经验者优先,重点考察Java、Python、Perl;方面Java是目前使用最为广泛的编程语言,它具有的众多特性,特别适合作为大数据应用的开发语言;另一方面Hadoop以及其他大数据处理技术很多都是用Java开发,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas,因此学习Hadoop的一个首要条件,就是掌握Java语言编程。千锋教育截止目前已在北京、深圳、上海、广州、郑州、成都、大连等20余个核心城市建立直营校区,服务近20万学员、近千所高校和数万家企业。
2019-09-18·带你开启大数据技术之旅!海牛大数据海牛学院专注于大数据课程开发及培训,带你开启大数据技术之旅!向TA提问关注
首先我们要了解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的。
已赞过已踩过<你对这个回答的评价是?评论收起喵喵喵喵喵咪c72019-10-15·TA获得超过4016个赞知道小有建树答主回答量:采纳率:0%帮助的人:37.9万我也去答题访问个人页关注想要学习大数据开发,第一件事并不是要找书籍或者是找视频教程,而是要了解一下大数据行业前景,了解一下成为大数据工程师需要具备什么样的能力,掌握哪些技能我当初学习大数据之前也有过这样的问题,作为一个过来人,今天就跟大家聊下大数据人才应该具备的技能。
首先我们要知道对于大数据开发工程师需要具备的技能,下面我们分别来说明:
用人单位对于大数据开发人才的能力要求有
技能要求:
1.精通JAVA开发语言,同时熟悉Python、Scala开发语言者优先;
2.熟悉Spark或Hadoop生态圈技术,具有源码阅读及二次开发工作经验;精通Hadoop生态及高性能缓存相关的各种工具,有源码开发实战经验者优先;
3.熟练使用SQL,熟悉数据库原理,熟悉至少一种主流关系型数据库;熟悉Linux操作系统,熟练使用常用命令,熟练使用shell脚本;熟悉ETL开发,能熟练至少一种ETL(talend、kettle、ogg等)转化开源工具者优先;
4.具有清晰的系统思维逻辑,对解决行业实际问题有浓厚兴趣,具备良好的沟通协调能力及学习能力。
以上就是想要成为大数据人才需要具备的技能
那么如何具备这些能力,怎么学习了,对于大多数人来说,目前只有通过参加大数据的学习,才能够系统的掌握以上的大数据技能,从而胜任大数据工程师的工作。 参考技术B
用人单位对于大数据开发人才的技能要求:
1. 精通Java技术知识,熟悉Spark、kafka、Hive、HBase、zookeeper、HDFS、MR等应用设计及开发;
2. 了解python/shell等脚本语言;。
3. 熟悉大数据平台架构,对ETL、数据仓库等有一定了解;。
4. 有数据可视化、数据分析、数学模型建立相关经验者优先考虑。
5. 有爬虫系统开发经验者优先。
参考技术C 你好!很高兴能为你解答,看到及时采纳喔!谢谢!1、 掌握至少一种数据库开发技术:Oracle、Teradata、DB2、Mysql等,灵活运用SQL实现海量数据ETL加工处理;
2、 熟悉Linux系统常规shell处理命令,灵活运用shell做的文本处理和系统操作;
3、 有从事分布式数据存储与计算平台应用开发经验,熟悉Hadoop生态相关技术并有相关实践经验着优先,重点考察Hdfs、Mapreduce、Hive、Hbase;
4、 熟练掌握一门或多门编程语言,并有大型项目建设经验者优先,重点考察Java、Python、Perl;
5、 熟悉数据仓库领域知识和技能者优先,包括但不局限于:元数据管理、数据开发测试工具与方法、数据质量、主数据管理;
6、 掌握实时流计算技术,有storm开发经验者优先。 参考技术D 掌握至少一种数据库开发技术:Oracle、Teradata、DB2、Mysql等,灵活运用SQL实现海量数据ETL加工处理;有从事分布式数据存储与计算平台应用开发经验,熟悉Hadoop生态相关技术并有相关实践经验着优先,重点考察Hdfs、Mapreduce、Hive、Hbase;熟悉数据仓库领域知识和技能者优先,包括但不局限于:元数据管理、数据开发测试工具与方法、数据质量、主数据管理;熟悉Linux系统常规shell处理命令。
灵活运用shell做的文本处理和系统操作;熟练掌握一门或多门编程语言,并有大型项目建设经验者优先,重点考察Java、Python、Perl;方面Java是目前使用最为广泛的编程语言,它具有的众多特性,特别适合作为大数据应用的开发语言;另一方面Hadoop以及其他大数据处理技术很多都是用Java开发,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas,因此学习Hadoop的一个首要条件,就是掌握Java语言编程。千锋教育截止目前已在北京、深圳、上海、广州、郑州、成都、大连等20余个核心城市建立直营校区,服务近20万学员、近千所高校和数万家企业。
从事电子方面的工作需要都有哪些必备的知识和技能?
如果想从事电子方面的工作(这个范围比较广哦)需要具备哪些必备的专业知识和技能?也就是说,不管是电子行业的哪方面都要具备的知识和技能有哪些。希望能求得一个具体的回答。
下面三个方面的素质:1. 计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
测试专业技能
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。 参考技术A 要心细 要具备电方面的基础知识。 参考技术B 还需要工程方面
以上是关于要成为一名大数据开发工程师必备哪些技能?的主要内容,如果未能解决你的问题,请参考以下文章