Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 将Twitter流式API推文按原样转储到Apache Cassandra进行后期处理_Database_Api_Twitter_Streaming_Cassandra - Fatal编程技术网

Database 将Twitter流式API推文按原样转储到Apache Cassandra进行后期处理

Database 将Twitter流式API推文按原样转储到Apache Cassandra进行后期处理,database,api,twitter,streaming,cassandra,Database,Api,Twitter,Streaming,Cassandra,我正在使用Twitter流API来监控几个关键字/用户。我计划将从twitter直接获得的tweets json字符串按原样转储到cassandra数据库,然后对其进行后期处理 这样的设计实用吗?当我有数百万条推特时,它会扩大吗 我以后要做的事情包括获取最受关注的用户、最受欢迎的hashtags等。我希望将流保存为原样,以便以后挖掘它们,以获取我现在可能不知道的任何新信息。您可以轻松地在cassandra中存储数百万条推文 为了处理tweet并获得诸如热门用户等统计数据,hashtags可以查看

我正在使用Twitter流API来监控几个关键字/用户。我计划将从twitter直接获得的tweets json字符串按原样转储到cassandra数据库,然后对其进行后期处理

这样的设计实用吗?当我有数百万条推特时,它会扩大吗


我以后要做的事情包括获取最受关注的用户、最受欢迎的hashtags等。我希望将流保存为原样,以便以后挖掘它们,以获取我现在可能不知道的任何新信息。

您可以轻松地在cassandra中存储数百万条推文


为了处理tweet并获得诸如热门用户等统计数据,hashtags可以查看构建在cassandra之上的DataStax。

重要的不是tweet的数量,而是它们到达的速度。Cassandra每秒可以轻松处理数千条tweet,这应该没问题(Twitter目前每秒总共生成约1200条tweet,而您可能只收到其中的一小部分)

然而,每秒的tweet是高度可变的。在写入量大幅增加之后,您可能会看到范围查询速度有所放缓。请参阅和上的Acunu博客文章,了解有关问题和解决方法的一些讨论

除了存储原始json之外,我还将提取一些您几乎肯定需要的常见特性,例如用户ID和hashtags,并分别存储它们。这将节省您以后的大量处理工作

另一个要考虑的因素是计划存储的数据如何随着时间的增长而增长。Cassandra可以很好地扩展,但您需要制定一个策略,以确保集群中的负载平衡,并在数据库增长时添加节点。如果您没有事先计划如何将令牌分配给新节点,那么添加节点可能是一个痛苦的经历。在添加一个新节点之前,等待有一个过载的节点是使集群崩溃的好方法