第2章 数据获取
一名数据科学家最重要的任务之一就是将数据加载到数据科学平台上。不同于那些不可控的、临时性的过程,本章讲解的是在Spark中,通用的数据采集管道可以被构造成可重复使用的组件,跨越多路输入数据流。我们演示一种配置,教大家如何在各种不同的运行条件下传递重要的馈送管理信息。
读者将学习如何构建内容登记、使用它来追踪所有加载到系统中的输入、传递采集管道的指标,这样这些流就能自动可靠地运行,无须人工干预。
在这一章里,我们将探讨以下主题。
- 数据管道。
- 通用采集框架。
- 介绍全球事件、语言和语调数据库——GDELT数据集。
- 实时监控新数据。
- Kafka接收流数据。
- 登记新内容,为追踪构建存储。
- 在Kibana中将内容指标可视化,以监控采集进程和数据健康度。
2.1 数据管道
即使是做最基本的分析,我们也需要一些数据。事实上,找到正确的数据可能是数据科学中最难解决的问题之一。第1章已经介绍过,我们获得数据的方式可以是简单的,也可以是复杂的,一切都取决于需求。在实践中,我们将这个决策分成两种不同的种类:临时性的和预定的。
- 临时性的数据获取。对于原型设计和小规模分析,这是最常采用的方法,因为它在实施时通常不需要任何额外的软件。用户想获取一些数据,在需要时从数据源下载即可。这种方法通常就是单击Web链接,将数据存储在方便读取的地方,尽管数据可能仍然需要版本控制。
- 预定的数据获取。在可控环境下,进行大规模生产分析;还有一种很好的场景:将数据集采集到数据湖以备将来使用。随着物联网(IoT)的大规模发展,许多场景产生了大量数据,如果数据没有被及时采集,它将永远消失。这些数据中的大部分在当前还没有明显的用途,但是将来可能会有,所以我们得有这样的心态:只要有需要,就收集所有的数据;只有在我们确信它一定没用时,才删除它。 ...
Get 精通Spark数据科学 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.