24

正如维基百科所说

数据挖掘过程的总体目标是从数据集中提取信息并将其转换为可理解的结构以供进一步使用

这与大数据有什么关系?如果我说 Hadoop 以并行方式进行数据挖掘,是否正确?

4

6 回答 6

60

大数据就是一切

大数据是一个营销术语,而不是一个技术术语。如今,一切都是大数据。我的U盘现在是“个人云”,我的硬盘是大数据。严重地。这是一个完全不具体的术语,主要由各种非常乐观的公司的营销部门可以出售的产品定义 - 以及大公司的 C*O 购买的产品,以使奇迹发生。更新:到目前为止,这同样适用于数据科学。这只是营销。

数据挖掘是旧的大数据

实际上,数据挖掘同样被过度使用......它可能意味着任何东西,例如

  • 收集数据(想想 NSA)
  • 存储数据
  • 机器学习/人工智能(早于术语数据挖掘)
  • 非机器学习数据挖掘(如在“知识发现”中,术语数据挖掘实际上是创造出来的;但重点是新知识,而不是学习现有知识)
  • 业务规则和分析
  • 可视化
  • 任何涉及您想以大量资金出售的数据

只是营销需要一个新名词。“商业智能”,“商业分析”,......他们仍然继续销售相同的东西,现在只是更名为“大数据”。

大多数“大”数据挖掘并不大

由于大多数方法——至少是那些给出有趣结果的方法——只是无法扩展,因此“挖掘”的大多数数据实际上并不大。它显然比 10 年前大得多,但不像艾字节那样大。KDnuggets 的一项调查显示,平均“分析的最大数据集”为 1-10 GB。那不是任何数据管理手段的大数据;只有可以使用复杂方法分析的东西才大。(我不是在谈论诸如 k-means 之类的琐碎算法)。

大多数“大数据”不是数据挖掘

现在“大数据”是真实的。谷歌有大数据,欧洲核子研究中心也有大数据。大多数其他人可能没有。数据开始变大,当您需要 1000 台计算机来存储它时。

Hadoop等大数据技术也是真实存在的。它们的使用并不总是明智的(不要费心运行少于 100 个节点的 hadoop 集群——因为此时您可能可以从精心挑选的非集群机器上获得更好的性能),但当然人们会编写这样的软件。

但大多数正在做的不是数据挖掘。它是Extract, Transform, Load (ETL),因此它正在取代数据仓库。不是使用具有结构、索引和加速查询的数据库,而是将数据转储到 hadoop 中,当您弄清楚要做什么时,您重新读取所有数据并提取您真正需要的信息,对其进行转换,然后将其加载到您的 Excel 电子表格中。因为经过选择、提取和转换后,通常它不再“大”了。

数据质量受大小影响

大数据的许多营销承诺不会成立。Twitter 为大多数公司提供的洞察力比广告宣传的要少得多(除非你是青少年摇滚明星);而且 Twitter 的用户群有很大的偏见。纠正这种偏差很困难,需要经验丰富的统计学家。

数据偏差是一个问题——如果你只是从互联网或应用程序中收集一些随机数据,它通常不具有代表性;特别是不是潜在用户。相反,如果您无法消除这些影响,您将过度适应现有的重度用户。

另一个大问题只是噪音。你有垃圾邮件机器人,还有其他工具(想想 Twitter 的“趋势主题”会导致“趋势”的强化),它们会使数据比其他来源更嘈杂。清理这些数据很困难,而且不是技术问题,而是统计领域专业知识。例如,谷歌流感趋势被反复发现是相当不准确的。它在早些年起作用(可能是因为过度拟合?),但质量不再好。

不幸的是,很多大数据用户对此关注得太少了;这可能是大多数大数据项目似乎失败的众多原因之一(其他原因是管理不善、期望过高和不切实际,以及缺乏公司文化和熟练的人员)。

Hadoop != 数据挖掘

现在是你问题的第二部分。Hadoop 不进行数据挖掘。Hadoop 管理数据存储(通过 HDFS,一种非常原始的分布式数据库)并调度计算任务,允许您在存储数据的同一台机器上运行计算。它不做任何复杂的分析。

有一些工具试图将数据挖掘引入 Hadoop。尤其是Apache Mahout,堪称Apache官方在Hadoop上进行数据挖掘的尝试。除了它主要是一种机器学习工具(机器学习!=数据挖掘;数据挖掘有时使用机器学习的方法)。Mahout 的某些部分(例如集群)远非先进。问题是Hadoop 适合线性问题,但大多数数据挖掘不是线性的。非线性算法不仅可以扩展到大数据;您需要仔细开发线性时间近似值并忍受精度损失 - 损失必须小于仅处理较小数据所损失的损失。

这种权衡问题的一个很好的例子是 k-means。K-means 实际上是一个(大部分)线性问题;所以它可以在Hadoop上运行。单次迭代是线性的,如果你有一个好的实现,它可以很好地扩展到大数据。然而,直到收敛的迭代次数也随着数据集的大小而增长,因此它并不是真正的线性。然而,由于这是一种寻找“手段”的统计方法,结果实际上并没有随着数据集的大小而有太大改善。因此,虽然您可以在大数据上运行 k-means,但它并没有多大意义——您可以对数据进行抽样,运行高效的单节点版本的 k-means,结果将一样好。因为额外的数据只是给你一些额外的精度数字,你不需要那么精确。

由于这适用于相当多的问题,Hadoop 上的实际数据挖掘似乎并没有开始。每个人都试图这样做,而且很多公司都卖这种东西。但它并没有比非大版本好多少。但只要客户想买这个,公司就会出售这个功能。只要它得到你的资助,研究人员就会在这方面写论文。不管它是否有效。这就是生活。

在少数情况下,这些东西有效。谷歌搜索就是一个例子,Cern。但图像识别(但不使用 Hadoop,GPU 集群似乎是通往那里的方式)最近也受益于数据大小的增加。但在任何这些情况下,您都有相当干净的数据。谷歌索引一切;Cern 丢弃任何不感兴趣的数据,只分析有趣的测量值 - 没有垃圾邮件发送者将他们的垃圾邮件输入 Cern ......在图像分析中,你训练预先选择的相关图像,而不是网络摄像头或来自互联网的随机图像(和如果是这样,您将它们视为随机图像,而不是代表性数据)。

于 2014-03-15T09:01:23.777 回答
4

大数据和Hadoop有什么区别?

答:大数据和开源软件程序 Hadoop 之间的区别是一个明显而基本的区别。前者是一种资产,通常是一种复杂而模糊的资产,而后者是一种程序,它完成了处理该资产的一组目标和目的。

大数据只是企业和其他各方为服务特定目标和运营而汇总的大量数据。大数据可以包括多种不同格式的多种不同类型的数据。例如,企业可能会投入大量工作来收集数千条货币格式的采购数据、姓名或社会保险号等客户标识符,或型号、销售编号或库存编号形式的产品信息。所有这些,或任何其他大量信息,都可以称为大数据。通常,在通过各种工具和处理程序之前,它是原始的和未排序的。

Hadoop 是旨在处理大数据的工具之一。Hadoop 和其他软件产品通过特定的专有算法和方法来解释或解析大数据搜索的结果。Hadoop 是一个在 Apache 许可下的开源程序,由全球用户社区维护。它包括各种主要组件,包括一组 MapReduce 函数和一个 Hadoop 分布式文件系统 (HDFS)。

MapReduce 背后的想法是 Hadoop 可以首先映射一个大型数据集,然后对该内容执行缩减以获得特定结果。reduce 函数可以被认为是一种原始数据的过滤器。HDFS 系统随后会在网络上分发数据或根据需要进行迁移。

数据库管理员、开发人员和其他人可以使用 Hadoop 的各种功能以多种方式处理大数据。例如,Hadoop 可用于追求数据策略,例如对非统一数据进行聚类和定位,或者数据不能整齐地放入传统表或不能很好地响应简单查询。

请参阅发布在http://www.shareideaonline.com/cs/what-is-the-difference-between-big-data-and-hadoop/的文章

谢谢安库什

于 2015-12-09T08:34:19.120 回答
4

这个答案真的是为了给 Anony-Mousse 的优秀答案增加一些特殊性。

关于什么是大数据存在很多争论。Anony-Mousse 在这里提出了很多关于过度使用分析、大数据和数据挖掘等术语的问题,但我想提供更多细节。

大数据

出于实际目的,我听说过的大数据的最佳定义是不方便或在传统关系数据库中不起作用的数据。这可能是无法使用的 1PB 数据,甚至可能只是 1GB 但有 5,000 列的数据。

这是一个松散而灵活的定义。总会有可以解决它的设置或数据管理工具,但是,这是可以比现有技术更有效地使用 Hadoop、MongoDB 等工具的地方。

我们可以用这种不方便/大/难以处理的数据做什么?单纯看电子表格很难在这里找到意义,所以我们经常使用数据挖掘和机器学习。

数据挖掘

这在上面被轻描淡写了——我的目标是更具体,并希望提供更多的背景信息。数据挖掘通常适用于数据分析的某种监督分析或统计方法。这些可能适合回归、分类、聚类或协同过滤。与机器学习有很多重叠之处,但是,这通常仍然由用户驱动,而不是无监督或自动执行,这很好地定义了机器学习。

机器学习

通常,机器学习和数据挖掘可以互换使用。机器学习包含许多与数据挖掘相同的领域,但也包括人工智能、计算机视觉和其他无监督任务。主要区别(这绝对是一种简化)是用户输入不仅是不必要的,而且通常是不需要的。目标是让这些算法或系统自我优化和改进,而不是迭代的开发周期。

于 2016-02-25T18:51:03.020 回答
3

大数据是一个术语,它由框架和工具的集合组成,这些框架和工具可以用包括数据挖掘在内的非常大的数据集创造奇迹。

Hadoop是一个框架,它将非常大的数据集分成块(默认为 64 mb),然后将其存储在HDFS(Hadoop 分布式文件系统)中,然后当它的执行逻辑(MapReduce)附带任何bytecode处理存储在的数据时HDFS。它将基于块进行拆分(可以配置拆分),并通过 Mapper 和 Reducer 进程进行提取和计算。通过这种方式,您可以进行 ETL 流程、数据挖掘、数据计算等,

我想得出结论,大数据是一个可以处理非常大的数据集的术语。Hadoop是一个可以很好地使用其组件和服务进行并行处理的框架。通过这种方式,您也可以获得数据挖掘..

于 2014-03-15T12:23:33.167 回答
2

大数据是人们用来形容当今存储如何便宜和容易以及如何分析数据的术语。

数据挖掘是试图从数据中提取有用信息的过程。

通常,数据挖掘与大数据相关有两个原因

  1. 当你有大量数据时,模式就不那么明显了,所以有人不能只是检查并说“哈”。他/她需要工具。
  2. 很多时候,大量数据可以改善对您的分析有意义的统计数据,因为您的样本更大。

我们可以说hadoop是并行的dois数据挖掘吗?什么是hadoop?他们的网站说

The Apache Hadoop software library is a framework that allows for the 
distributed processing of large data sets across clusters of computers 
using simple programming models

因此,您陈述的“平行”部分是正确的。它的“数据挖掘”部分不一定。例如,您可以只使用 hadoop 来汇总大量数据,而这不一定是数据挖掘。但在大多数情况下,你可以打赌人们正在尝试使用 hadoop 从大数据中提取有用的信息,所以这是肯定的。

于 2014-03-15T05:36:23.430 回答
1

我会说大数据是一个用于满足新业务需求的现代化框架。正如许多人可能知道的那样,BigData 就是关于 3 v 的 Volume、Variety 和 Velocity。大数据需要利用各种数据(结构化和非结构化数据)并使用聚类技术来解决体积问题并在更短的时间内获得结果,即速度。

数据挖掘基于 ETL 原则,即使用建模技术从大型数据集中查找有用信息。市场上有许多 BI 工具可以实现这一目标。

于 2014-11-11T12:56:03.943 回答