我是一名数学家,偶尔会兼职做一些统计/机器学习分析咨询项目。我可以访问的数据通常较小,最多几百兆字节(而且几乎总是少得多),但我想了解更多有关处理和分析千兆字节/太字节规模数据的信息。我需要了解什么以及可以从哪些好的资源中学习?
- Hadoop/MapReduce 是一个明显的开端。
- 有没有我应该学习的特定编程语言? (我现在主要使用 Python、Ruby、R,偶尔使用 Java,但似乎 C 和 Clojure 经常用于大规模数据分析?)
- 我不太熟悉整个 NoSQL 运动,只是它与大数据相关。哪里是学习它的好地方,是否有我应该熟悉的特定实现(Cassandra、CouchDB 等)?
- 我在哪里可以了解如何将机器学习算法应用于海量数据?我的数学背景主要是理论方面的,绝对不是数值或近似方面的,而且我猜大多数标准 ML 算法都没有真正扩展。
- 任何其他关于要学习的东西的建议都会很棒!
最佳答案
- Apache Hadoop 确实是一个好的开始,因为它是免费的,拥有庞大的社区并且易于设置。
- Hadoop 是用 Java 构建的,因此可以将其作为首选语言。但是也可以将其他语言与 Hadoop 一起使用(“管道”和“流”)。我知道,例如经常使用 Python。
- 如果愿意,您可以避免将数据保存在数据库中。最初,Hadoop 处理(分布式)文件系统上的数据。但正如您似乎已经知道的那样,有适用于 Hadoop 的分布式数据库可用。
- 你有没有看过Mahout ?我认为这对您来说很受欢迎 ;-) 您需要的许多工作可能已经完成了!?
- 阅读Quick Start and set up你自己的(伪分布式?)集群并运行 word-count example .
如果您有任何问题,请告诉我 :-) 评论会提醒我这个问题。
关于hadoop - 海量数据入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2937476/