为 Hadoop 集群提供数据并使用该集群将数据输入 Vertica/InfoBright 数据仓库有什么意义?
所有这些供应商都在说“我们可以连接 Hadoop”,但我不明白这有什么意义。存储在 Hadoop 中并转移到 InfoBright 有什么好处?为什么不将应用程序直接存储在 Infobright/Vertica DW 中?
谢谢 !
为 Hadoop 集群提供数据并使用该集群将数据输入 Vertica/InfoBright 数据仓库有什么意义?
所有这些供应商都在说“我们可以连接 Hadoop”,但我不明白这有什么意义。存储在 Hadoop 中并转移到 InfoBright 有什么好处?为什么不将应用程序直接存储在 Infobright/Vertica DW 中?
谢谢 !
为什么要结合解决方案?Hadoop 有一些很棒的功能(见下面的 url)。这些功能虽然不包括允许业务用户运行快速分析。在 Hadoop 中需要 30 分钟到数小时的查询可以在 Infobright 的 10 秒内完成。
顺便说一句,您最初的问题并没有以 MPP 架构为前提,这是有充分理由的。Infobright 的客户 Liverail、AdSafe Media 和 InMobi 等将 IEE 与 Hadoop 结合使用。
如果您注册行业白皮书http://support.infobright.com/Support/Resource-Library/Whitepapers/,您将看到当前市场的视图,其中概述了 Hadoop 的四个建议用例。它由 TechTarget 研究、业务应用和架构组总监 Wayne Eckerson 于 2011 年 9 月撰写。
1) 创建在线存档。
使用 Hadoop,组织不必删除数据或将数据传送到离线存储;他们可以通过添加商品服务器来无限期地保持在线状态,以满足存储和处理要求。Hadoop 成为满足在线归档要求的低成本替代方案。
2) 提供数据仓库。
组织还可以使用 Hadoop 解析、集成和聚合大量 Web 或其他类型的数据,然后将其传送到数据仓库,普通用户和高级用户都可以使用熟悉的 BI 工具查询和分析数据。在这里,Hadoop 成为一种 ETL 工具,用于在大量 Web 数据进入企业数据仓库之前对其进行处理。
3) 支持分析。
大数据人群(即互联网开发人员)主要将 Hadoop 视为一种分析引擎,用于针对大量数据运行分析计算。要查询 Hadoop,分析人员目前需要用 Java 或其他语言编写程序并了解 MapReduce,这是一个用于编写分布式(或并行)应用程序的框架。这里的优点是分析师在制定查询时不受 SQL 的限制。SQL 不支持许多类型的分析,尤其是那些涉及行间计算的分析,这在 Web 流量分析中很常见。缺点是Hadoop是面向批处理的,不利于迭代查询。
4) 运行报告。
然而,Hadoop 的批处理导向使其适合执行定期安排的报告。组织现在可以针对原始数据运行报告,而不是针对汇总数据运行报告,从而确保获得最准确的结果。
您可能希望这样做有几个原因 1. 每 TB 成本。Hadoop 中的存储成本比 Vertica/Netezza/greenplum 等便宜很多)。您可以在 Hadoop 中获得长期保留,在分析 DB 2 中获得短期数据。Hadoop 中的数据摄取功能(执行转换)在 Hadoop 3 中更好。程序分析(如Mahout之类的库),因此您可以构建高级文本分析 4。处理非结构化数据
MPP 数据库在即席查询中提供更好的性能,更好地处理结构化数据和与传统 BI 工具(OLAP 和报告)的连接 - 所以基本上 Hadoop 补充了这些数据库的产品
是什么让联合部署对这个软件如此有效?
首先,这两个平台有很多共同点:
Hadoop非常适合初始探索性数据分析,其中数据通常在HDFS中可用且无模式,批处理作业通常就足够了,而 Vertica 非常适合需要重复应用已知分析方法的程式化交互式分析到传入的数据批次。
通过使用Vertica 的 Hadoop 连接器,用户可以轻松地在两个平台之间移动数据。此外,可以将单个分析作业分解为利用两个平台的执行能力的零碎;例如,在 Web 分析用例中,Web 服务器生成的 JSON 数据最初被转储到 HDFS 中。然后调用 map-reduce 作业将此类半结构化数据转换为关系元组,并将结果加载到 Vertica 中,以便通过后续分析查询优化存储和检索。
在处理大数据时,使 Hadoop 和 Vertica 相辅相成的主要区别是什么。
Hadoop 与其说是数据库,不如说是一个平台。
将 Hadoop 视为一个简洁的文件系统,它支持对不同文件类型的大量查询。考虑到这一点,大多数人将原始数据转储到 Hadoop 上,并将其用作数据管道中的暂存层,在那里它可以咀嚼数据并将其推送到其他系统,如 vertica 或任何其他系统。您有几个可以恢复到解耦的优点。
因此,Hadoop 正在成为大数据的实际存储平台。它简单、容错、可扩展性好,并且易于提供和从中获取数据。因此,大多数供应商都试图将产品推向可能安装了 Hadoop 的公司。
像 Greenplum DB 这样的海量并行数据库非常适合处理大量结构化数据。Hadoop 擅长处理更大量的非结构化数据,例如网站。
如今,大量有趣的分析将这两种类型的数据结合起来以获得洞察力。因此,这些数据库系统能够与 Hadoop 集成非常重要。
例如,您可以使用 MapReduce 在 Hadoop 集群上进行文本处理,直到您对每个产品或其他东西有一些评分值。然后,数据库可以使用该评分值将其与已存储在数据库中的其他数据或已从其他来源加载到数据库中的数据相结合。
为了稍微扩展 Arnon 的回答,Hadoop 已被公认为一种不会消失的力量,并且在组织中越来越受到关注,很多时候是通过开发人员的草根努力。MPP 数据库擅长回答我们在设计时就知道的问题,例如“我们每小时按国家/地区获得多少交易?”。
Hadoop 最初是为一种介于分析师和开发人员之间的新型开发人员提供的平台,他们可以编写代码,但也了解数据分析和机器学习。MPP 数据库(列与否)在为这种类型的开发人员提供服务方面非常差,他们经常分析非结构化数据,使用需要太多 CPU 能力才能在数据库或太大数据集中运行的算法。构建某些模型所需的大量 CPU 能力使得在任何类型的传统分片数据库中运行这些算法都是不可能的。
我使用 hadoop 的个人管道通常如下所示:
请记住,此工作流程仅适用于“分析开发人员”或“数据科学家”。其他里程会有所不同。
回到你的问题,因为像我这样的人放弃了他们的工具,这些公司正在寻找在 Hadoop 是大数据、最酷的初创公司和尖端技术的代名词的时代保持相关性的方法(无论这是否获得,你可以讨论在你们自己之间。)此外,许多 Hadoop 安装比组织 MPP 部署大一个数量级或更大,这意味着更多数据在 Hadoop 中保留更长时间。
我不是 Hadoop 用户(只是 Vertica 用户/DBA),但我认为答案是这样的:
-您已经使用 Hadoop 进行了设置,并且想要添加“大数据”数据库以进行深入的分析分析。
-您想将 Hadoop 用于非分析功能和处理,并使用数据库进行分析。但它是相同的数据,因此不需要两个提要。
就其性质而言,非结构化数据不适合加载到您的传统数据仓库中。Hadoop mapreduce 作业可以从您的日志文件(例如)中提取结构,然后可以将其移植到您的 DW 中进行分析。Hadoop是批处理,因此不适合分析查询处理。因此,您可以使用 hadoop 处理您的数据以带来一些结构,然后通过您的可视化/sql 层使其准备好查询。
为 Hadoop 集群提供数据并使用该集群将数据输入 Vertica/InfoBright 数据仓库有什么意义?
关键是您不希望您的用户启动查询并等待几分钟,有时甚至是几个小时,然后您才返回答案。Hadoop 无法为您提供实时查询响应。尽管随着 Cloudera 的 Impala 和 Hortonworks 的 Stinger 的出现,这种情况正在改变。这些是 Hadoop 上的实时数据处理引擎。
Hadoop 的底层数据系统 HDFS 允许将数据分块并将其分布在集群中的节点上。事实上,HDFS 也可以用 S3 之类的第 3 方数据存储来代替。要点是:Hadoop 同时提供 -> 存储 + 处理。因此,欢迎您使用 hadoop 作为存储引擎,并在需要时将数据提取到您的数据仓库中。您还可以使用 Hadoop 创建多维数据集和集市,并将这些集市存储在仓库中。
然而,随着毒刺和黑斑羚的出现,这些说法的力量最终将被抹去。所以请留意。