加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

OpenStack如何在大数据用例中扮演关键角色

发布时间:2018-04-17 16:21:56 所属栏目:大数据 来源:站长网
导读:副标题#e# OpenStack 控制计算、存储和网络资源池。本文主要关注 OpenStack 如何在大数据用例中扮演关键角色。 OpenStack 上的大数据 现在,数据随处生成,数据量呈指数增长。来自 Web 服务器、应用程序服务器、数据库服务器的数据以用户信息、日志文件和系

Oozie 是 Hadoop 生态系统中可用的工作流引擎。工作流是一组必须作为分布式环境中的序列执行的任务。Oozie 帮助创建一个简单的工作流来层叠多个工作流并创建协调的作业。Oozie 用于为复杂的 ETL 作业创建工作流也很理想,尽管它没有模块来支持与 Hadoop 相关的所有操作。

我们可以使用任何工作流引擎来执行 ETL 工作,例如 Openstack Mistral (工作流即服务)。Apache oozie 在某些方面类似于 Openstack Mistral ,充当可以定期触发的作业调度器。

我们来看看一个典型的 ETL 作业流程,它使用Hadoop 将应用程序将其数据存储在 MySQL 服务器中。存储的数据需要以最少的成本和时间进行分析。

提取

第一步是从 MySQL 中提取数据并将其存储在 HDFS中。

Apache Sqoop 可用于从结构化数据源(如 RDBMS数据存储)导出/导入数据。

如果要提取的数据是半结构化的或非结构化的,你可以使用 Apache Flume 从数据链接中获取数据,例如 Web 服务器日志、Twitter 数据流或传感器数据。

转换

从上述阶段提取的数据格式不正确(只是原始数据)。应该用适当的过滤器和数据聚合来清理。

这是在 HDFS 中存储数据必不可少的。

此时,我们需要为每个表设计 Hive 模式,并创建一个数据库来转换存储在临时区域中的数据。

通常情况下,数据采用 .csv 格式,每条记录均以逗号分隔。

我们不需要检查 HDFS 数据以了解它是如何存储的。有一些异常数据类型应该与 Hive 兼容。

数据库建模后,我们可以加载提取的数据进行清理。表格中的数据仍然未标准化。从不同的表中聚合所需的列。

同样,可以用“ OVERWRITE INTO TABLE ”语句来汇总多个表中的数据。

Hive 支持分区表,通过水平分配执行负载来提高查询性能。我们倾向于分区存储年份和月份的列。有时,分区表在 MapReduce 作业中创建更多任务。

加载

现在是时候将转换后的数据加载到 HDFS 中的数据仓库目录中,这是数据的最终状态。在这里,我们可以应用 SQL 查询来获得适当的结果。

所有的 DML 命令都可以用来分析基于用例的仓库数据。

结果可以下载为 .csv、表格或图表进行分析。它可以与其他流行的商业智能工具(如Talend OpenStudio、Tabelau 等)集成。

自动化

现在使用 Oozie 工作流引擎自动执行 ETL 作业(你也可以使用 Mistral,大多数 Hadoop 用户习惯用Apache Oozie )。

结论

OpenStack 集成了一个非常大的 Hadoop 生态系统,许多云提供商提供 Hadoop 服务(只需要点击几下它们的云管理门户网站即可)。Sahara 支持大部分 Hadoop 供应商插件,让你执行 ETL 工作流。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读