数据工程师该如何入门 大数据工程师需要哪些基础?

www.zhiqu.org     时间: 2024-06-02
1. 了解行业情况
刚开始一定要了解清楚自己和行业的情况,很多人根本就分不清招聘信息中的大数据和数据挖掘的区别就说自己要转行,其实是很不负责的。不要总是赶热点,反正我就是经常被鄙视做什么大数据开发太Low,做数据就要做数据挖掘,不然永远都是水货。
2. 选择学习途径
如果真是清楚自己明确地想转数据开发了,要考虑一下自己的时间和精力,能拿出来多少时间,而且在学习的时候最好有人能多指点下,不然太容易走弯路了。
在选择具体的学习途径时,要慎重一点,有几个选择:
自学
报班
找人指点
别的不说了,报班是可以考虑的,不要全指望报个辅导班就能带你上天,但是可以靠他帮你梳理思路。如果有专业从事这一行的人多帮帮的话,是最好的。不一定是技术好,主要是可沟通性强。
3. 学习路线
学习路线,下面是一个大致的建议:
第一阶段
先具备一定的Linux和Java的基础,不一定要特别深,先能玩起来,Linux的话能自己执行各种操作,Java能写点小程序。这些事为搭建Hadoop环境做准备。
学习Hadoop,学会搭建单机版的Hadoop,然后是分布式的Hadoop,写一些MR的程序。
接着学学Hadoop生态系统的其它大数据组件,比如Spark、Hive、Hbase,尝试去搭建然后跑一些官网的Demo。
Linux、Java、各种组件都有一些基础后,要有一些项目方面的实践,这时候找一些成功案例,比如搜搜各种视频教程中如何搞一个推荐系统,把自己学到的用起来。
第二阶段
到这里是一个基本的阶段了,大致对数据开发有一些了解了。接着要有一些有意思内容可以选学。
数据仓库体系:如何搞数据分层,数据仓库体系该如何建设,可以有一些大致的了解。
用户画像和特征工程:这一部分越早了解越好。
一些系统的实现思路:比如调度系统、元数据系统、推荐系统这些系统如何实现。
第三阶段
下面要有一些细分的领域需要深入进行,看工作和兴趣来选择一些来深入进行
分布式理论:比如Gossip、DHT、Paxo这些构成了各种分布式系统的底层协议和算法,还是要学一下的。
数据挖掘算法:算法是要学的,但是不一定纯理论,在分布式环境中实现算法,本身就是一个大的挑战。
各种系统的源码学习:比如Hadoop、Spark、Kafka的源码,想深入搞大数据,源码跑不掉。

负责根据项目的总体管理目标编制项目建设的总体实施计划、年度和分月度的实施计划;下达项目的建设实施计划,并对实施中的项目计划进行统计分析和计划调整等综合管理。

要成为一名大数据开发工程师必备哪些技能?~

首先我们要了解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的。

一、计算机编码能力
实际开发能力和大规模的数据处理能力是作为大数据工程师的一些必备要素。举例来说,现在人们在社交网络上所产生的许多记录都是非结构化的数据,如何从这些毫无头绪的文字、语音、图像甚至视频中拾取有意义的信息就需要大数据工程师亲自挖掘。
二、数学及统计学相关的背景
国内BAT为代表的大公司,对于大数据工程师的要求都是希望是统计学和数学背景的硕士或博士学历。缺乏理论背景的数据工作者,按照不同的数据模型和算法总能捯饬出一些结果来,但如果你不知道那代表什么,就并不是真正有意义的结果,并且那样的结果还容易误导你。只有具备一定的理论知识,才能理解模型、复用模型甚至创新模型,来解决实际问题。
三、特定应用领域或行业的知识
大数据工程师这个角色很重要的一点是,不能脱离市场,因为大数据只有和特定领域的应用结合起来才能产生价值。所以,在某个或多个垂直行业的经历能为应聘者积累对行业的认知,对于之后成为大数据工程师有很大帮助。
关于大数据工程师需要哪些基础,该如何下手的内容,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。


#曹禄肥# 如何学好数据库,成为数据库工程师 -
(17198832844): 首先数据库分开发和管理两个方向,如果是一点经验都没有,管理那是不可能的 一般新手都是从开发开始,慢慢接触数据库,深入理解数据库.建议从oracle学起,还有PL/SQL开发,SQL语言是基础中的基础

#曹禄肥# 想去做数据挖掘 该怎么入门呢
(17198832844): 难得在这个版看到这类帖子.我不是软件工程师,视野也有限.算法、统计学、分布式系统、数据可视化是必须的.除了算法、统计学、机器学习等基础知识,Java、C++之类的编程语言肯定是要搞的,R、Hadoop甚至Teredata之类的都是加分项.具体的工作内容要看行业了,现在数据挖掘用得比较多的就是电子商务、社交网络、咨询公司等等.淘宝正在大力网罗这方面的人,有基础的话可以试试.

#曹禄肥# 数据分析需要掌握哪些知识?
(17198832844): 数学知识对于初级数据分析师来说,则需要了解统计相关的基础性内容,公式计算,统计模型等.当你获得一份数据集时,需要先进行了解数据集的质量,进行描述统计.而对于高级数据分析师,必须具备统计模型的能力,线性代数也要有一定...

#曹禄肥# 如果想成为数据库工程师 SQL方面的 需要掌握哪些知识与技能? 详细点
(17198832844): 首先,数据库系统原理是你初学的必经之路. 然后可以转向学习SQL Server、Oracle、MySQL的其中一种,并且购买相关书籍,跟相关有经验的老师或者是那些数据库工程师学习,当你觉得差不多的时候去考个相关的数据库认证证书,不过价格很贵哦,你出去找工作也就容易得多了.数据库行业的话,首先要精通起码一门数据库,然后要有多年的开发和维护经验,一般都是5年以上的. 其次,你在数据库学习的过程中,不好忘记好好学学其中的一门编程语言,比如Java、C#、C++等.因为有时候你这个数据库工程师难免要给这些程序提供接口来使用的,对这些语言有相关的认识你也就更加得心应手了的.

#曹禄肥# 数据分析需要掌握哪些知识呢?
(17198832844): 数据分析所需要掌握的知识:数学知识对于初级数据分析师来说,则需要了解统计相关的基础性内容,公式计算,统计模型等.当你获得一份数据集时,需要先进行了解数据集的质量,进行描述统计.而对于高级数据分析师,必须具备统计模型...

#曹禄肥# 请教!成为一名合格的数据库工程师需掌握那些知识技能?
(17198832844): 数工讨论群:27955282nbsp;nbsp;nbsp;nbsp;数工考试交流群:37263632nbsp;你们交流.2004数据库系统工程师级大纲一、考试说明nbsp;nbsp;nbsp;1.考试要求nbsp;nbsp;nbsp;(1)掌握计算机体系结构以及各主要部件的性能和基本工作原...

#曹禄肥# 新手怎么学习编程? -
(17198832844): 学习编程是一件好事 不过之前你得先了解 你学习编程的目的是什么 这个很重要 因为目的决定发展方向 目前对于编程有很多种编程语言以及相对应的开发软件 下面说明一些常用的编程语言 根据你的情况选一种语言进行学习 不要盲乱学习 C语言...

#曹禄肥# 请问一名大学生想考数据库系统工程师,他该怎么学习与复习呢?想在数据库方向继续发展下去的那种. -
(17198832844): 首先认真学习C语言,这个是基础,然后好好学习sql语言的基本语法,深入的话研究研究oracle,就差不多了

#曹禄肥# 请教!成为一名合格的数据库工程师需掌握那些知识技能? -
(17198832844): 楼上的太详细了 我的建议是看你的发展方向1.DBA 数据库原理 精通,操作系统 精通2.常规数据维护, 数据库原理,操作系统,数据结构等

#曹禄肥# 我想做一名数据库开发工程师,不知道还需要了解哪些知识,希望过来人帮我指点一下. -
(17198832844): 实际上数据库开发工程师,对于数据库的熟练掌握,甚至于精通,都是必须的,还有一个是被很多人所忽视的,就是作为一个开发工程师,那么就必须是有开发的对象的,如何尽快的熟悉、全面的掌握开发的对象的需求、内容,甚至熟悉开发对象所涉及的工艺、流程、业务的掌握,这才是关键的,最后就是开发工程师必须要从用户体验的角度来考虑你所开发的东西,如何能够更容易的被用户应用、熟悉.