小编Die*_*olo的帖子

使用FileInputStream在Resources中加载文件

我知道在资源中打开文件的安全方法是:

  InputStream is = this.getClass().getResourceAsStream("/path/in/jar/file.name");  
Run Code Online (Sandbox Code Playgroud)

现在的问题是我的文件是Weka Wrapper包中的决策者的模型,而Decider类只有一个方法:

  public void load(File file) throws Exception 
Run Code Online (Sandbox Code Playgroud)

load获取文件并将其作为FileInputStream打开.你看到了解决方法吗?我真的很想将模型发送到资源中.我正在考虑创建一个临时文件,在临时文件中写入模型的内容然后将临时文件传递给Weka,但它是如此脏..其他选项?

java jar weka

10
推荐指数
1
解决办法
3万
查看次数

在合理的时间内使用mongoDB检索大量记录

我正在使用mongoDB存储一个querylog并得到一些关于它的统计数据.我存储在mongoDB中的对象包含查询文本,日期,用户,用户点击某些结果等等.

现在我正在尝试检索用户在某一天没有用java点击的所有查询.我的代码是这样的:

    DBObject query = new BasicDBObject();
    BasicDBObject keys = new BasicDBObject();
    keys.put("Query", 1);
    query.put("Date", new BasicDBObject("$gte", beginning.getTime()).append("$lte", end.getTime()));
    query.put("IsClick", false);
    ...
    DBCursor cur = mongoCollection.find(query, keys).batchSize(5000);
Run Code Online (Sandbox Code Playgroud)

查询的输出包含我需要迭代的大约20k条记录.该问题是,它需要几分钟:(我不认为这是正常的服务器日志中我看到.:

Wed Nov 16 16:28:40 query db.QueryLogRecordImpl ntoreturn:5000 reslen:252403 nscanned:59260 { Date: { $gte: 1283292000000, $lte: 1283378399999 }, IsClick: false }  nreturned:5000 2055ms
Wed Nov 16 16:28:40 getmore db.QueryLogRecordImpl cid:4312057226672898459 ntoreturn:5000 query: { Date: { $gte: 1283292000000, $lte: 1283378399999 }, IsClick: false }  bytes:232421 nreturned:5000 170ms
Wed Nov 16 16:30:27 getmore …
Run Code Online (Sandbox Code Playgroud)

performance cursor mongodb mongodb-java

4
推荐指数
1
解决办法
4124
查看次数

标签 统计

cursor ×1

jar ×1

java ×1

mongodb ×1

mongodb-java ×1

performance ×1

weka ×1