大数据分析工程师,应该要学什么知识?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-06
大数据工程师需要掌握哪些技能?

对于大数据工程师而言,您至少要掌握以下技能:

一门JVM系语言:当前大数据生态JVM系语言类的比重极大,某种程度上说是垄断也不为过。这里我推荐大家学习Java或Scala,至于Clojure这样的语言上手不易,其实并不推荐大家使用。另外,如今是“母以子贵”的年代,某个大数据框架会带火它的编程语言的流行,比如Docker之于Go、Kafka之于Scala。因此笔者这里建议您至少要精通一门JVM系的语言。值得一提的,一定要弄懂这门语言的多线程模型和内存模型,很多大数据框架的处理模式其实在语言层面和多线程处理模型是类似的,只是大数据框架把它们引申到了多机分布式这个层面。

计算处理框架:严格来说,这分为离线批处理和流式处理。流式处理是未来的趋势,建议大家一定要去学习;而离线批处理其实已经快过时了,它的分批处理思想无法处理无穷数据集,因此其适用范围日益缩小。事实上,Google已经在公司内部正式废弃了以MapReduce为代表的离线处理。因此如果要学习大数据工程,掌握一门实时流式处理框架是必须的。当下主流的框架包括:Apache Samza, Apache Storm, Apache Spark Streaming以及最近一年风头正劲的Apache Flink。当然Apache Kafka也推出了它自己的流式处理框架:Kafka Streams

分布式存储框架:虽说MapReduce有些过时了,但Hadoop的另一个基石HDFS依然坚挺,并且是开源社区最受欢迎的分布式存储,绝对您花时间去学习。如果想深入研究的话,Google的GFS论文也是一定要读的([url=]https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf[/url])。当然开源世界中还有很多的分布式存储,国内阿里巴巴的OceanBase也是很优秀的一个。

资源调度框架:Docker可是整整火了最近一两年。各个公司都在发力基于Docker的容器解决方案,最有名的开源容器调度框架就是K8S了,但同样著名的还有Hadoop的YARN和Apache Mesos。后两者不仅可以调度容器集群,还可以调度非容器集群,非常值得我们学习。

分布式协调框架:有一些通用的功能在所有主流大数据分布式框架中都需要实现,比如服务发现、领导者选举、分布式锁、KV存储等。这些功能也就催生了分布式协调框架的发展。最古老也是最有名的当属Apache Zookeeper了,新一些的包括Consul,etcd等。学习大数据工程,分布式协调框架是不能不了解的, 某种程度上还要深入了解。

KV数据库:典型的就是memcache和Redis了,特别是Redis简直是发展神速。其简洁的API设计和高性能的TPS日益得到广大用户的青睐。即使是不学习大数据,学学Redis都是大有裨益的。

列式存储数据库:笔者曾经花了很长的时间学习Oracle,但不得不承认当下关系型数据库已经慢慢地淡出了人们的视野,有太多的方案可以替代rdbms了。人们针对行式存储不适用于大数据ad-hoc查询这种弊端开发出了列式存储,典型的列式存储数据库就是开源社区的HBASE。实际上列式存储的概念也是出自Google的一篇论文:Google BigTable,有兴趣的话大家最好读一下:

消息队列:大数据工程处理中消息队列作为“削峰填谷”的主力系统是必不可少的,当前该领域内的解决方案有很多,包括ActiveMQ,Kafka等。国内阿里也开源了RocketMQ。这其中的翘楚当属Apache Kafka了。Kafka的很多设计思想都特别契合分布流式数据处理的设计理念。这也难怪,Kafka的原作者Jay Kreps可是当今实时流式处理方面的顶级大神。

已经身处这个行业的专家给出了一些人才需求的大体框架,包括要有计算机编码能力、数学及统计学相关背景;学历并不是最主要的因素,能有大规模处理数据的经验并且有喜欢在数据海洋中寻宝的好奇心会更适合这个工作。
此外,一个优秀的大数据工程师要具备一定的逻辑分析能力,并能迅速定位某个商业问题的关键属性和决定因素。
大数据必备技能:

1、需要有应用数学、统计学、数量经济学专业本科或者工学硕士层次水平的数学知识背景。

2、至少熟练SPSS、STATISTIC、Eviews、SAS等数据分析软件中的一门。

3、至少能够用Acess等进行数据库开发;

4、至少掌握一门数学软件:matalab,mathmatics进行新模型的构建。

5、至少掌握一门编程语言; 6,当然还要其他应用领域方面的知识,比如市场营销、经济统计学等,因为这是数据分析的主要应用领域。

  • 大数据分析工程师,应该要学什么知识?
    答:1、需要有应用数学、统计学、数量经济学专业本科或者工学硕士层次水平的数学知识背景。2、至少熟练SPSS、STATISTIC、Eviews、SAS等数据分析软件中的一门。3、至少能够用Acess等进行数据库开发;4、至少掌握一门数学软件:matalab,mathmatics进行新模型的构建。5、至少掌握一门编程语言; 6,当然还要其他应用...
  • 大数据需要学习什么
    答:数学知识,数学知识是数据分析师的基础知识.对于数据分析师来说,了解一些关于统计的描述,需要具备一定的公式计算能力,了解常用的统计模型算法.对于数据挖掘工程师来说,各种算法也需要熟练使用,对数学的要求最高.编程语言,对于想学习大数据的学生,至少需要SQL、hadoop、hive查询、Python等编程语言.4、学习...
  • 大数据工程师需要学什么?有什么要求?
    答:· 计算机专业知识,比如操作系统,编程语言,计算机运行原理等 · 数学知识,这里指高等数学,比如微积分、概率统计、线性代数和离散数学等。对于大数据工程师而言,至少要掌握以下技能:· 一门编程语言:建议:学习Java或Scala · 计算处理框架:建议:学习Flink、Spark Streaming或Kafka Streams中的一个 ·...
  • 大数据工程师需要掌握哪些技术?
    答:Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具。2.Linux命令 对于大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数...
  • 大数据工程师都需要掌握什么
    答:以下是大数据工程师需要掌握的一些重要领域和技能,详细解释如下:1. 大数据基础知识:大数据工程师需要了解大数据的基本概念、原理和技术体系。包括对分布式存储和计算的理解,熟悉Hadoop、Spark等大数据框架的使用和原理。2. 数据处理与分析:熟悉数据处理和分析技术,能够使用SQL语言进行数据查询和处理。同时,...
  • 大数据分析师要学什么
    答:数据分析师需要学习统计学、编程能力、数据库、数据分析方法、数据分析工具等内容,还要熟练使用 Excel,至少熟悉并精通一种数据挖掘工具和语言,具备撰写报告的能力,还要具备扎实的 SQL 基础。1、数学知识 数学知识是数据分析师的基础知识。对于初级数据分析师,了解一些描述统计相关的基础内容,有一定的公式...
  • 大数据工程师学哪些?核心技术是什么?
    答:五、大数据查询分析 Hive的核心工作就是把SQL语句翻译成MR程序,可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce。可以将Hive理解为一个客户端工具,将SQL操作转换为相应的MapReduce jobs,然后在hadoop上面运行。Hive支持标准...
  • 大数据工程师需要学什么
    答:大数据工程师需要学的内容如下:一、编程技能 Python:Python是大数据领域中最常用的编程语言之一。大数据工程师需要掌握Python的基本语法和数据处理库,如NumPy和Pandas,以便对数据进行清洗和预处理。Java:Java是Hadoop等大数据处理框架的主要编程语言,熟练掌握Java编程对于构建大规模分布式系统至关重要。SQL:...
  • 大数据专业学什么
    答:大数据专业需要学:数学分析、高等代数、普通物理数学与信息科学概论、数据结构、数据科学导论、程序设计导论、程序设计实践、离散数学、概率与统计、算法分析与设计、数据计算智能、数据库系统概论、计算机系统基础、并行体系结构与编程、非结构化大数据分析等。大数据技术专业属于交叉学科:以统计学、数学、计算机...
  • 大数据分析应该掌握哪些基础知识?
    答:大数据分析师应该要学的知识有,统计概率理论基础,软件操作结合分析模型进行实际运用,数据挖掘或者数据分析方向性选择,数据分析业务应用。1、统计概率理论基础 这是重中之重,千里之台,起于垒土,最重要的就是最下面的那几层。统计思维,统计方法,这里首先是市场调研数据的获取与整理,然后是最简单的...