【发布时间】:2018-01-06 16:30:19
【问题描述】:
我有各种日志文件,其中包含数百万条记录。我想将这些文件中的记录推送到 mongodb,我必须在插入 MongoDb 之前对数据进行规范化,并在 ID 上使用过滤器,这是文件中每一行/记录中的公共变量。
MY_MONGO_DB_SCHEMA =
{
"ID" : "common in all the files",
"LOG_FILE_1":[{
# variable from LOG_FILE_1
"var1" : "contains the value matching with ID in
record",
"var2": "contains the value matching with ID in
record"
}],
"LOG_FILE_2" :[{# variable from LOG_FILE_2
"var3: "contains the value match with ID in record"
"var4": "contains the value match with ID i record"
}]
}
我已经编写了 Python 脚本,但是如果我限制脚本对内存的使用,它会消耗大量内存或者需要很多时间。有人可以建议使用 APACHE STORM 、 APACHE KAFKA 或任何此类需求吗?在Kafka和storm之前我从来没有用过它
【问题讨论】:
-
如果它消耗“大量内存”,那么当您应该在“块”中处理时,您可能只是将整个文件“吞食”到内存中。很肯定会有很多阅读示例您的日志文件,一次一个片段。“大数据”不是“创可贴”或任何实际有形的东西。它更像是一种“哲学”,只有在您已经了解基础知识时才会真正有所帮助。
-
嗯,你需要找出究竟是什么花费了时间。然后我们可以谈谈。我们不知道您的情况出了什么问题。你的代码写得不好?数据库上的索引是否太多?您的数据库服务器是否动力不足?以此类推。
标签: python mongodb apache-kafka apache-storm bigdata