我有点问题。我想学习hadoop以及如何使用它来实时处理数据流。因此,我想围绕它建立一个有意义的poc,这样当我必须在某个潜在的雇主面前证明我的知识时,或者在我现在的公司里介绍它时,我就可以展示它。我还想提一下,我的硬件资源有限。只有我和我的笔记本电脑:)我知道hadoop的基础知识,并写了2-3个基本的mr-jobs。我想做一些更有意义的事情或现实世界。请建议。提前谢谢。
2hh7jdfx1#
hadoop是一个面向高吞吐量的框架,适用于批处理过程。如果你对实时处理和分析巨大的数据集感兴趣,请关注twitter风暴。
goqiplq22#
我认为您可以运行一个poc,例如,mapreduce中的在线/递归回归算法。但请记住,这只会证明你的“学习规则”是有效的。也许(从未尝试过这个)您可以通过告诉您的reducer将结果写入另一个线程可以读取的临时文件来实时使用结果。mahout还允许您在多个不同的位置设置数据库 SequenceFile s。您可以使用它来模拟一个在线流,并“在线”地对数据集进行分类/聚类。在算法开始运行之前,您甚至可以将部分数据与其他数据一起复制到文件夹中。mahout在行动中详细说明了如何做到这一点。查看以下数据集之一是否符合您的口味:http://archive.ics.uci.edu/ml/datasets.html
SequenceFile
a64a0gku3#
我在找这样的东西-https://www.kaggle.com/competitions这些都是定义明确的问题,其中许多是大数据问题。其中一些需要实时处理。但感谢所有的回答。
lnvxswe24#
其中一个经典的问题,我敢肯定是最实时的比任何其他。期权交易。这里的关键是关注twitter、facebook、youtube上的新闻、趋势,然后确定可能的put或call的候选人。你将需要一个良好的技能和精心实施的mahout与nutch/lucene,然后使用趋势数据,以了解目前的情况和系统应建议投注(选项)。
tnkciper5#
如果您想构建一些实时应用程序,那么我建议您使用apachespark框架,它用于实时处理,还支持polyglotapi(scala、java、python、r)
zengzsys6#
我想指出几点。如果你只想用一台笔记本电脑做一个poc,那么使用hadoop没有什么意义。另外,正如其他人所说,hadoop不是为实时应用程序而设计的,因为在运行map/reduce作业时会有一些开销。也就是说,cloudera发布了impala,它与hadoop生态系统(特别是hivemetastore)一起工作以实现实时性能。请注意,要实现这一点,它不会生成map/reduce作业,并且目前处于测试阶段,因此请小心使用它。所以我真的建议你去 Impala ,这样你仍然可以使用hadoop生态系统,但如果你也在考虑替代方案,这里有一些其他的框架可以使用:Druid:是由元市场开源的。看起来很有趣,尽管我自己没用过。storm:没有与hdfs集成,它只处理数据。hstreaming:与hadoop集成。雅虎s4:看起来很接近风暴。最后,我认为您应该真正分析您的需求,看看使用hadoop是否是您所需要的,因为它只是在实时空间中开始的。还有其他几个项目可以帮助您实现实时性能。如果你想展示项目的想法,我建议你看看这个链接。她的例子如下:金融/保险根据行业/公司指标、投资组合多样性和货币风险,将投资机会分类为好的或不好的。根据交易地点和信用卡持有人、日期、金额、购买的物品或服务、交易历史和类似交易,将信用卡交易分类为有效或无效。生物学/医学蛋白质的结构或功能分类诊断分类,例如基于图像的癌症肿瘤互联网文件分类和排序恶意软件分类、电子邮件/推特/网络垃圾邮件分类生产系统(如能源或石化行业)根据传感器的实时和历史数据对情况进行分类和检测(例如,最佳点或风险情况)
odopli947#
我显然有偏见,但我也建议你看看gridgain的实时性。gridgain是一个内存数据平台,提供了acid nosql数据存储和快速内存mapreduce。
ru9i0ody8#
如果你想在一个非常有前途的流媒体框架上下手,试试bdasspark流媒体。注意,这还没有发布,但是你可以在你的笔记本电脑上玩github版本(https://github.com/mesos/spark/tree/streaming)有很多样品可以让你开始。与现有框架相比,这也有许多优点1。它使您能够在一个stack 2中结合实时和批处理计算。它将为您提供一个repl,您可以在其中以交互方式尝试临时查询。三。你可以在本地模式下在笔记本电脑上运行。还有许多其他的优点,但这三个,我相信足以满足您的需要开始。您可能需要学习scala才能尝试repl:-(有关更多信息,请查看http://spark-project.org/
8条答案
按热度按时间2hh7jdfx1#
hadoop是一个面向高吞吐量的框架,适用于批处理过程。如果你对实时处理和分析巨大的数据集感兴趣,请关注twitter风暴。
goqiplq22#
我认为您可以运行一个poc,例如,mapreduce中的在线/递归回归算法。但请记住,这只会证明你的“学习规则”是有效的。也许(从未尝试过这个)您可以通过告诉您的reducer将结果写入另一个线程可以读取的临时文件来实时使用结果。
mahout还允许您在多个不同的位置设置数据库
SequenceFile
s。您可以使用它来模拟一个在线流,并“在线”地对数据集进行分类/聚类。在算法开始运行之前,您甚至可以将部分数据与其他数据一起复制到文件夹中。mahout在行动中详细说明了如何做到这一点。查看以下数据集之一是否符合您的口味:http://archive.ics.uci.edu/ml/datasets.html
a64a0gku3#
我在找这样的东西-
https://www.kaggle.com/competitions
这些都是定义明确的问题,其中许多是大数据问题。其中一些需要实时处理。
但感谢所有的回答。
lnvxswe24#
其中一个经典的问题,我敢肯定是最实时的比任何其他。期权交易。这里的关键是关注twitter、facebook、youtube上的新闻、趋势,然后确定可能的put或call的候选人。你将需要一个良好的技能和精心实施的mahout与nutch/lucene,然后使用趋势数据,以了解目前的情况和系统应建议投注(选项)。
tnkciper5#
如果您想构建一些实时应用程序,那么我建议您使用apachespark框架,它用于实时处理,还支持polyglotapi(scala、java、python、r)
zengzsys6#
我想指出几点。
如果你只想用一台笔记本电脑做一个poc,那么使用hadoop没有什么意义。
另外,正如其他人所说,hadoop不是为实时应用程序而设计的,因为在运行map/reduce作业时会有一些开销。
也就是说,cloudera发布了impala,它与hadoop生态系统(特别是hivemetastore)一起工作以实现实时性能。请注意,要实现这一点,它不会生成map/reduce作业,并且目前处于测试阶段,因此请小心使用它。
所以我真的建议你去 Impala ,这样你仍然可以使用hadoop生态系统,但如果你也在考虑替代方案,这里有一些其他的框架可以使用:
Druid:是由元市场开源的。看起来很有趣,尽管我自己没用过。
storm:没有与hdfs集成,它只处理数据。
hstreaming:与hadoop集成。
雅虎s4:看起来很接近风暴。
最后,我认为您应该真正分析您的需求,看看使用hadoop是否是您所需要的,因为它只是在实时空间中开始的。还有其他几个项目可以帮助您实现实时性能。
如果你想展示项目的想法,我建议你看看这个链接。她的例子如下:
金融/保险
根据行业/公司指标、投资组合多样性和货币风险,将投资机会分类为好的或不好的。
根据交易地点和信用卡持有人、日期、金额、购买的物品或服务、交易历史和类似交易,将信用卡交易分类为有效或无效。
生物学/医学
蛋白质的结构或功能分类
诊断分类,例如基于图像的癌症肿瘤
互联网
文件分类和排序
恶意软件分类、电子邮件/推特/网络垃圾邮件分类
生产系统(如能源或石化行业)
根据传感器的实时和历史数据对情况进行分类和检测(例如,最佳点或风险情况)
odopli947#
我显然有偏见,但我也建议你看看gridgain的实时性。gridgain是一个内存数据平台,提供了acid nosql数据存储和快速内存mapreduce。
ru9i0ody8#
如果你想在一个非常有前途的流媒体框架上下手,试试bdasspark流媒体。注意,这还没有发布,但是你可以在你的笔记本电脑上玩github版本(https://github.com/mesos/spark/tree/streaming)有很多样品可以让你开始。
与现有框架相比,这也有许多优点1。它使您能够在一个stack 2中结合实时和批处理计算。它将为您提供一个repl,您可以在其中以交互方式尝试临时查询。三。你可以在本地模式下在笔记本电脑上运行。还有许多其他的优点,但这三个,我相信足以满足您的需要开始。
您可能需要学习scala才能尝试repl:-(
有关更多信息,请查看http://spark-project.org/