嘿,我是大数据的新手。我正在制作一个系统,它将从社交媒体中获取数据并处理结果,为此我使用的是apache spark。
以下是我的模型的流程:
用户将使用php制作的网页保存所需的关键字。
用这些关键词我将从社交媒体中获取数据, 处理数据(例如,情绪和观点)然后提供给它 最终用户。
现在我的困惑是如何从社交媒体上获取数据。使用
虽然我必须学会实现所有三种数据提取技术,如果我碰巧使用直接api,那么我可以跳过整个hadoop部分。如果你们能告诉我哪一个更好,那就太好了。
以上所有我在本地机器上做的事情。我已经完成了ui部分,现在我处于需要获取数据的阶段。
感谢。
答案 0 :(得分:0)
我想我会提出这个建议。
您可能不想使用分布式系统从任何来源获取数据,除非您计划对其生产服务器进行DDoS。如果您的群集设置在一个路由器后面,则整个群集可能会被列入黑名单,因为所有节点始终达到了在路由器上添加的访问速率限制,具体取决于服务器是否功能强大。 Twitter服务器并不关心100个线程是否诚实(假如你知道自己在做什么),但任何创业公司都可能马上找到你。
如果你有一个4核心的工作站,那么让他们抓住流媒体数据应该足以满足学术研究的初始阶段。或者,如果您真的需要大量数据,您可以使用您的fetcher脚本作为映射器进行Hadoop流式传输,而不是简化器,快速简便。如果您是Java或Scala中的超级明星,请在Spark的执行者的每个vcore上获取一个提取线程。
现在,Twitter有REST API,这意味着你可以用任何编程语言来获取数据。当然,有时使用现有接口可能更容易,假设它们维护良好,它们几乎总是更健壮。但我一直都很懒惰。例如,我有时只想要一个示例数据点,因此我只需将curl
传送到jq
以检查我要检查的内容。
是的,了解jq
也会为您节省大量时间。并且成为一个没有DDoS人的绅士。