数字时代:什么是数据工程? -Techin3

20-10-13 banq

在LinkedIn的2020年新兴工作报告和Hired的2019年软件工程师状况报告中,他们将数据工程师的职位排在了紧挨数据科学家和机器学习工程师的位置。

数字时代利用数据可以实现很多事情,从个性化营销活动到为自动驾驶汽车提供动力。数据科学家负责分析数据并将其用于各种目的。

但是,他们需要高质量的数据来完成复杂的任务,例如预测业务趋势。那就是数据工程师发挥作用的地方。

数据工程是一种收集和验证信息(数据)的科学,以便数据科学家可以使用它。

 

数据工程师的角色:

数据工程师是构建数据科学项目所依赖的信息基础架构的人员。这些专业人员负责设计和管理数据流,这些数据流将来自各种来源的信息集成到一个公共池(例如,数据仓库)中,数据科学家和商业智能分析师可以从中检索信息以进行分析。这通常涉及基于某种形式的ETL(提取,转换和加载)模型实现数据管道。

在创建此信息体系结构时,数据工程师依靠各种编程和数据管理工具来实现ETL,管理关系和非关系数据库以及构建数据仓库。让我们快速浏览一些最受欢迎的工具。

 

数据工程工具:

Apache Hadoop是一个基础数据工程框架,用于在分布式处理环境中存储和分析大量信息。Hadoop不是单个实体,而是HDFS(Hadoop分布式文件系统)和MapReduce分布式处理引擎等开源工具的集合。

Apache Spark是与Hadoop兼容的数据处理平台,与MapReduce不同,它可用于实时流处理以及批处理。它的速度 比MapReduce快100倍,并且似乎正在将其替换到Hadoop生态系统中。Spark具有适用于Python,Java,Scala和R的API,并且可以作为独立于Hadoop的独立平台运行。

Apache Kafka是当今使用最广泛的数据收集和提取工具。Kafka是易于安装和使用的高性能平台,可以将大量数据快速流到诸如Hadoop这样的目标中。

Apache Cassandra被广泛用于以较低的用户延迟来管理大量数据,并自动复制到多个节点以实现容错。

SQL和NoSQL(关系和非关系数据库)是用于数据工程应用程序的基础工具。从历史上看,关系数据库(例如DB2或Oracle)一直是标准。但是,随着现代应用程序越来越多地实时处理大量的非结构化,半结构化甚至是多态数据,非关系型数据库现在已成为自己的数据库。

 

编程语言:

Python是一种非常流行的通用语言。它广泛用于统计分析任务,可以称为数据科学通用语言。超过三分之二的数据工程师职位清单都要求具备Python流利性(以及SQL)。

R是一种独特的语言,具有其他编程语言所缺乏的功能。这种矢量语言正在从金融应用程序到遗传学和医学等多个数据科学类别中找到用例。

Java由于具有很高的执行速度,是构建大型数据系统的首选语言。它是Facebook和Twitter等公司的数据工程工作的基础。Hadoop主要用Java编写。

Scala是Java的扩展,特别适合与Apache Spark一起使用。实际上, Spark是用Scala编写的。尽管Scala在JVM(Java虚拟机)上运行,但Scala代码比Java等效代码更简洁明了。

 

“折磨数据,它将对任何东西坦白。” —罗纳德·科斯

 

                   

猜你喜欢