coderwhy-web前端线上系统课(百度云 百度网盘)
优采云 发布时间: 2022-05-01 03:11coderwhy-web前端线上系统课(百度云 百度网盘)
含大数据、前沿技术、前端开发、后端开发、移动开发、数据分析、架构、人工智能、Python、Java、Android、前端、IOS、C++、大数据、GO、音视频软件测试、产品经理、运维、股票基金、人工智能AI
以下内容为填充,无视即可
因为以上五个数据集均可以被最终用户所访问,所以这些数据集都会存放在 /data 目录(更准确地说是 /data/movielens 目录)下。10.6.2数据采集在传统的 ETL 处理过程中,数据从 OLTP 数据库中提取出来,并加载到数据仓库中。因此,我们也希望大部分数据来自 OLTP 数据存储。本节关注数据从 OLTP 数据存储采集至Hadoop 的具体细节。另外,相关的非关系型数据可以加载到 Hadoop 中,还可以集成到我们的数据分析里。这里的非关系型数据包括来自网站的影评、来自 Twitter 的短评等。为了进行举例说明,本节关注关系型数据的采集。第 8 章和第 9 章涵盖了从流式数据源(如网络日志和*敏*感*词*支付数据)中采集数据的内容。从关系数据库到 Hadoop 有多种方式可以完成数据的采集任务,Sqoop 是迄今为止最为流行的一种,本章将主要关注这个工具。我们在第 2 章中讨论了 Sqoop 的工作原理,并分享了一些使用方面的小窍门。本章主要探讨 Sqoop 在特定场景下如何使用。另外,这里还可以使用 Hadoop 集成的传统 ETL 工具,如 Informatica 或 Pentaho。
数据采集系统(如Oracle Golden Gate)的调整能够高效地对频繁更新的数据表进行复制。一些 Hadoop 用户会采取另外一种方式:从关系型数据库将数据导出成文件,再将文件加载到 Hadoop 中。如果原本就有从 OLTP 系统进行每日数据导出的处理,那么可对此复用,将数据加载到 Hadoop。不过如果原本并没有这样的处理,也用不着添加。Sqoop本身就支持数据导出工具(如 mysqldump 或 Teradata 快速导出工具)完成数据的导入,而这种导入经过了优化,更容易使用,而且久经测试。所以,如果是从零开始,我们推荐使用 Sqoop。选择 Sqoop 作为导入工具后,我们进一步了解数据导入的细节问题。有以下几种类型的数据表需要导入。• 数据几乎不变的表我们可以将这些数据表一次性地导入 Hadoop,导入完成后,可以按需执行重复导入操作。在我们的例子中,所有的维表均常态化地发生修改,比如用户会修改自己的属性,而新电影会上映。所以在本例中,没有哪张表属于这个类型。• 数据频繁更新的小表我们可以将这些数据表每天导入 Hadoop 一次。由于数据量较少,这里不必担心对数据更改的跟踪,也不用担心导入对可用带宽的影响。
在这个例子中,电影信息表数据量较小,因此对应的电影数据集属于这一类。• 数据频繁更新且无法每天全量提取的大表对于这种表,我们需要确定每天有哪些数据发生更改,并将这些更改应用到 Hadoop上。这些表可以只支持追加而不支持更新。在这种情况下,我们只需将新的记录添加到Hadoop 的表中即可。这些表也可能是支持更新的,此时我们就需要对更新进行合并。而 user_rating_fact 与 user_history 均属于这一类型。上述前两类表通常情况下是维表,不过并不是所有的维表都属于这两类。毕竟它们的数据