数学不好,能成为大数据工程师吗


说到数学,很多人都会回想起上学时的高等数学、线性代数、概率统计。。。想想都头大。大数据和数学都有个“数”字,那如果数学不好,能不能从事大数据行业,成为大数据开发工程师呢?

实际上大数据和数学并没有绝对的关系,数学在成为一名大数据工程师时是非常重要的,但不是唯一的技能要求。大数据工程师需要有一定的数学基础,特别是在统计学和线性代数方面,因为这些知识在数据分析和处理中经常用到。此外,数学还有助于理解数据算法和模型,以便更好地处理和解释大数据。然而,如果你的数学不是很强,你仍然有可能成为一名大数据工程师。你可以通过学习和不断提高你的数学技能来填补这方面的不足。还可以使用工具和框架来辅助你处理数据,如Hadoop、Spark、Python等。作为一名大数据工程师,你还需要具备计算机编程和数据处理的技能,包括大数据工具和技术的熟练掌握,以及数据存储和处理的经验。此外,沟通和协作能力也非常重要,因为大数据工程师通常需要与数据科学家、分析师和业务部门合作,以解决复杂的问题。

吴军老师在《见识》这本书里提到过一个故事,一个腾讯的工程师在开发时用了冒泡排序,结果这位工程师的主管很生气。当然可以理解,在腾讯这样拥有海量用户的公司,用冒泡排序的性能可想而知,跟快速排序、归并排序这些算法差了不止一个数量级。数学或者逻辑性好一点的工程师,可能会敏锐的觉察到这其中的奥秘,而不至于闹出低级的错误。



01

可能用到的数学



大数据工程是一个涉及收集、存储、处理和分析大规模数据的领域。在这个过程中,数学扮演着关键的角色,因为它提供了处理数据所需的工具和技术。以下是数学在大数据工程中的一些关键方面:

1. 统计学:统计学是大数据工程中不可或缺的一部分。统计学帮助你理解数据的分布、趋势和变化,以便更好地分析和解释数据。你需要掌握统计学的基本概念,如均值、方差、标准差、相关性等,以便在数据分析中使用这些指标。

2. 线性代数:线性代数在机器学习和数据处理中发挥着关键作用。矩阵运算、向量空间、特征值和特征向量等线性代数概念在处理大规模数据时非常重要。理解线性代数可以帮助你更好地理解和实现各种数据算法和模型。

3. 概率论:概率论用于建立和解释统计模型。在大数据工程中,你可能需要使用概率论来处理不确定性和风险,尤其是在预测和模型建设方面。

4. 微积分:虽然大多数大数据工程师不需要深入的微积分知识,但了解微积分的基本原理可以帮助你理解一些数据处理算法的工作原理。

数学提供了处理大数据的理论基础,使你能够更好地理解数据、建立模型和开发算法。然而,数学只是大数据工程中的一部分,还有其他关键技能需要考虑。



02


如何学习数学


学习数学对于从事大数据开发工作非常重要,数学是数据分析和统计的基础。通过数学方法,可以对大数据进行有效的整理、分析和解释。统计学知识可以帮助开发人员理解数据的分布、关联性和趋势,从而为业务决策提供有力支持。另外大数据开发离不开高效的算法和数据结构。数学提供了许多经典的算法和数据结构理论,例如排序、搜索、图论等,可以帮助开发人员设计和优化高效的大数据算法和数据结构。数学是一门基础性学科,学好数学对于大数据开发的益处非常多,那么如何学好数学了?

1. 学习数学基础知识:开始学习数学的基础知识,包括统计学、线性代数和概率论。有很多在线教育资源和课程可以帮助你学习这些主题。建议从一些工作中可能会用到,或者领域的底层逻辑相关数学入手,这样可以在工作中进一步加深理解。

2. 练习数学技能:数学需要不断的练习。解数学问题、做练习题和参加数学竞赛可以帮助你提高你的数学技能。定期的练习可以加深你对数学概念的理解。

3. 寻求辅导:如果你感到困惑或遇到难题,不要害怕寻求数学老师或导师的帮助。他们可以提供个性化的指导,帮助你理解数学的复杂概念。

4. 应用数学到实际问题:将数学应用到实际问题中可以帮助你更好地理解其实际用途。尝试使用数学来分析数据或解决现实生活中的问题,这将加强你的数学技能。

5. 学习计算机编程:大数据工程师通常需要编程技能来处理数据和构建数据管道。学习编程,特别是Python和Scala等编程语言,可以帮助你更好地应用数学知识。

6. 使用数学工具和库:有很多数学工具和库可以帮助你处理数据,如NumPy、SciPy、Pandas和TensorFlow。这些工具可以简化数学计算和数据分析的过程。

7. 参与实际项目:参与实际的数据工程项目可以提供宝贵的经验。通过实际的工作,你可以应用你的数学知识,同时学习如何处理真实世界中的数据。

8. 追求终身学习:数学和技术领域不断发展,因此终身学习是非常重要的。定期阅读数学和技术领域的最新发展,参加研讨会和培训课程,以保持自己的竞争力。




03


大数据开发工程师关键技能


虽然数学是成为一名优秀的大数据工程师的一个重要方面,但更重要的还是大数据相关的技能。毕竟在国内,一个工程师完成业务目标的工程化项目能力才是核心,而且大数据发展到今天,已经是一个相对成熟的行业,很多底层的架构和工具都有了。上面举了腾讯的例子,说明数学能力的重要性,但话说回来,像腾讯这样量级的也不多。
1.计算机编程:大数据工程师通常需要精通一种或多种编程语言,以构建数据处理管道和开发数据应用程序。Python、Java、Scala和SQL等编程语言都在大数据领域中广泛使用。
2.大数据工具和技术:了解大数据工具和技术,如Hadoop、Spark、Hive、Kafka、NoSQL数据库等,对于处理大规模数据非常重要。这些工具可以帮助你有效地处理和分析数据。
3.数据存储:理解不同类型的数据存储系统,包括关系型数据库、分布式数据库和数据湖,对于大数据工程师来说至关重要。你需要知道如何有效地存储和检索数据。
4.数据处理和清洗:大数据通常包含噪音和不一致的数据,因此数据处理和清洗是关键的任务。你需要知道如何清理和转换数据,以确保数据的质量和准确性。
5.数据分析和可视化:理解如何分析数据并以可视化的方式呈现数据结果对于与团队和利益相关者进行有效的沟通至关重要。数据分析和可视化工具如Tableau、Power BI和Matplotlib都是有用的工具。
6.沟通和协作:大数据工程师通常需要与数据科学家、数据分析师和业务部门合作,以了解他们的需求和提供数据解决方案。因此,良好的沟通和协作能力也是重要的技能。



04


搜索引擎用到的数学

搜索引擎是一个极其复杂的信息检索系统,其中涉及许多数学知识和算法,特别是自然语言处理相关的信息论,更是基于数学发展起来的一门现代学科。下面列举几个相关的数学知识,供大家参考:

1.向量空间模型(Vector Space Model,VSM):量空间模型是搜索引擎中用于表示文档和查询的一种常用方法。文档和查询都可以被表示为向量,其中每个维度对应一个词语或术语,并使用权重来表示其重要性。相关性分数可以通过计算文档向量与查询向量之间的相似性来确定。

2.TF-IDF(Term Frequency-Inverse Document Frequency):
TF-IDF是一种用于评估词语在文档中的重要性的统计方法。它结合了词语的频率(Term Frequency)和逆文档频率(Inverse Document Frequency),以确定一个词语在文档集合中的重要性。

3.余弦相似度:余弦相似度是用于测量文档或查询向量之间相似性的一种方法。它通过计算向量之间的夹角余弦来确定它们的相似程度。余弦相似度常用于搜索引擎中的相关性排名。

4.PageRank算法:PageRank是一种链接分析算法,用于评估网页的重要性。它基于图论和概率论的概念,通过分析网页之间的链接关系来确定网页的权重,从而用于搜索引擎中的排名。

5.布尔逻辑:搜索引擎支持布尔逻辑运算,如AND、OR和NOT,用于组合多个查询词语以获取相关的搜索结果。布尔逻辑是基于集合理论和布尔代数的数学概念。

6.排序算法:搜索引擎使用各种排序算法来对搜索结果进行排名,以确保最相关的结果排在前面。这包括各种排序算法,如基于TF-IDF的排序、PageRank排序、机器学习排序等。

7.贝叶斯分类:贝叶斯分类是一种用于文本分类和垃圾邮件过滤的机器学习方法。搜索引擎可以使用贝叶斯分类来确定文档是否与用户查询相关。

虽然数学不是成为一名的大数据工程师所必需的技能,在这方面有不足,仍然有机会通过学习和发展其他相关技能来追求这个职业。但如果你希望追求更高的成就,那学好数学将是你的不二之选。很多技术难点都聚焦到数学算法等基础性知识上。类似事情的思考回归到第一性原理一样,数学是基础和根本。学好数学,大数据开发工程师的技能可以更上一层楼。


欢迎加入【数据行业交流群】社群,长按以下二维码加入专业微信群,获取最新的行业信息,商务合作加微信备注商务合作




往期历史热门文章:

基于DataOps的数据开发治理:实现数据流程的自动化和规范化

数据平台:湖仓一体、流批一体、存算分离的核心问题及原因解析

数据治理体系该怎么建设?

实时数仓&流批一体技术发展趋势

数据仓库、数据中台、大数据平台的关系?

数字化转型如何促进业务的发展

数据中台中的核心概念解析

数据治理中的数据标准的作用?

全面数字化转型:打造全新营销模式





请使用浏览器的分享功能分享到微信等