‫欢迎回来｡
‫因此, 我们了解到, 作为数据工程师, 您需要收集数据, 摄取数据, 然后将其存储在数据湖中,
‫通常是Hadoop集群｡
‫现在, 这种数据湖的概念也可以用于S3对象存储｡
‫这是最受欢迎的两种｡
‫然后, 一旦它们进入数据湖, 您通常可以对这些数据运行批处理作业, 以某种方式清理､
‫修改或处理这些数据｡
‫因此Hadoop允许我们这样做｡
‫通过MapReduce, 我们可以使用Apache Spark｡
‫您可以在Amazon S3上手动编写脚本, 甚至可以使用SQL数据库等常见数据库完成最佳工作｡
‫但是这种流处理的想法现在变得越来越流行｡
‫现在, 人们不再仅仅使用批处理作业来处理数据, 比如说每小时或每天处理一次,
‫而是转向了真实的流处理的思想｡
‫这意味着, 当收到数据时, 立即处理它, 而不是等待一段时间, 直到我们可以一次完成批处理｡
‫这使我们能够对数据做出更快的反应｡
‫这个流处理的概念相当复杂, 但是目前用于流处理的主要工具之一是一种叫做卡夫卡的东西｡
‫卡夫卡｡
‫如果我们看他们的网站是一个分布式流媒体平台｡
‫它允许我们像消息系统一样读写数据流｡
‫它允许我们处理数据, 也允许我们存储数据｡
‫但正如你所看到的卡夫卡所做的, 它允许我们接收信息, 并将其传递到不同的地方｡
‫所以你经常会看到我们使用Apache Kafka来接收来自所有这些来源的所有这些消息､ 日志和数据｡
‫我们把它们集中在一个中心位置, 然后卡夫卡可以把它传递到不同的位置｡
‫例如, 我们可以将卡夫卡接收到的任何数据传递到Hadoop集群来存储这些数据｡
‫然后, 如果我们愿意, 也许可以使用Apache Spark将数据处理到数据仓库中｡
‫但是现在, 有了真实的的思想, 卡夫卡允许我们把事情传递给井本身｡
‫或者我们可以使用Spark Streaming或Flink, 我们已经讨论过Apache
‫Flink, 它更多地用于流处理, 或者Apache Storm,
‫甚至Amazon的Kinesis, 实际上也可以像Kafka一样放置在这里来处理来自所有这些位置的所有这些消息｡
‫现在, 在一天结束的时候, 所有这一切可能会让人困惑｡
‫您可能会被所有这些可用的工具所淹没｡
‫但请记住我在本节开头所说的话｡
‫数据工程师是指作为数据科学家, 您将与之互动的人｡
‫因此, 了解他们的工作､
‫角色和职责是很好的, 你将与他们密切合作, 这样你就可以获得数据, 对数据进行分析或构建机器学习模型｡
‫但我希望这张图现在能说得通｡
‫数据工程师为您创建了这样一个场景, 他们使用Hadoop或Amazon S3等工具通过卡夫卡商店信息摄取数据｡
‫他们使用Apache Spark或Kinesis之类的工具处理数据｡
‫然后是数据仓库中存储的数据｡
‫所以像Redshift或BigQuery这样的工具可以被企业内部的人用来从数据中学习一些有用的东西｡
‫他们为你建立了繁荣的结构｡
‫所以对他们好点｡
‫如果你对这些技术感兴趣, 它们的变化非常快, 但它们绝对值得一看,
‫而且它们并不像你想象的那么难学｡
‫下次见｡
‫再见, 再见, 再见