我想定期(每小时)将我的应用程序日志加载到Cassandra中,以便使用pig进行分析。
这通常如何做?是否有专注于此的项目?
我看到mumakil通常用于批量加载数据。我可以写一个围绕着这个问题的cron工作,但我希望能找到比我工作更强大的东西。
如果可取的话,我也愿意修改应用程序以另一种格式(如syslog或直接向Cassandra)存储数据。虽然在那种情况下,如果Cassandra不可用,我会担心数据丢失。
答案 0 :(得分:1)
如果你开始使用Flume,你需要编写一个自定义的Flume水槽(不是很难)。您可以在https://github.com/geminitech/logprocessing上对其进行建模。
如果您想使用Pig,我同意另一张海报,您应该使用HDFS(或S3)。 Hadoop的设计非常适用于块存储的块存储。这可以防止您通过大量磁盘搜索和网络IO获得可怕的IO性能。虽然你可以使用Pig和Cassandra,但是你会遇到Cassandra数据模型的麻烦,你的性能会更差。
但是,如果你真的想使用Cassandra并且你没有死在Flume,我建议使用Kafka和Storm。
我使用Storm将日志文件加载到Cassandra的工作流程是:
答案 1 :(得分:0)
您应该考虑使用Flume将它们加载到HDFS,因为这些项目是为此目的而设计的。然后,您可以直接使用Pig来对付非结构化/半结构化的日志数据。