0

我正在尝试将 KDD-CUP-99 数据集(可在此处找到:http: //kdd.ics.uci.edu/databases/kddcup99/kddcup99.html)导入 MongoDB。我已经使用以下命令在一台机器上完成了此操作:

mongoimport --db dbName --collection colName --type csv --file kddcup.data.corrected --fieldFile kddcup99header

当我使用 findOne() 查看结果时,一切看起来都很好;输出如下:

> db.colName.findOne()
{
    "_id" : ObjectId("547c33e376945996ed878f81"),
    "duration" : 0,
    "protocol_type" : "tcp",
    "service" : "http",
    "flag" : "SF",
    "src_bytes" : 215,
    "dst_bytes" : 45076,
    "land" : 0,
    "wrong_fragment" : 0,
    "urgent" : 0,
    "hot" : 0,
    "num_failed_logins" : 0,
    "logged_in" : 1,
    "num_compromised" : 0,
    "root_shell" : 0,
    "su_attempted" : 0,
    "num_root" : 0,
    "num_file_creations" : 0,
    "num_shells" : 0,
    "num_access_files" : 0,
    "num_outbound_cmds" : 0,
    "is_host_login" : 0,
    "is_guest_login" : 0,
    "count" : 1,
    "srv_count" : 1,
    "serror_rate" : 0,
    "srv_serror_rate" : 0,
    "rerror_rate" : 0,
    "srv_rerror_rate" : 0,
    "same_srv_rate" : 1,
    "diff_srv_rate" : 0,
    "srv_diff_host_rate" : 0,
    "dst_host_count" : 0,
    "dst_host_srv_count" : 0,
    "dst_host_same_srv_rate" : 0,
    "dst_host_diff_srv_rate" : 0,
    "dst_host_same_src_port_rate" : 0,
    "dst_host_srv_diff_host_rate" : 0,
    "dst_host_serror_rate" : 0,
    "dst_host_srv_serror_rate" : 0,
    "dst_host_rerror_rate" : 0,
    "dst_host_srv_rerror_rate" : 0,
    "unknown" : "normal."
}

现在我在另一台机器上运行相同的导入操作,使用相同的文件和命令,但有些东西不能正常工作。导入结果如下:

> db.colName.findOne()
{
    "_id" : ObjectId("547d8f94facff0761ae10688"),
" : 0,  "duration
" : "tcp",rotocol_type
" : "http",rvice
" : "SF",flag
" : 215,"src_bytes
" : 45076,st_bytes
" : 0,  "land
" : 0,  "wrong_fragment
" : 0,  "urgent
" : 0,  "hot
" : 0,  "num_failed_logins
" : 1,  "logged_in
" : 0,  "num_compromised
" : 0,  "root_shell
" : 0,  "su_attempted
" : 0,  "num_root
" : 0,  "num_file_creations
" : 0,  "num_shells
" : 0,  "num_access_files
" : 0,  "num_outbound_cmds
" : 0,  "is_host_login
" : 0,  "is_guest_login
" : 1,  "count
" : 1,  "srv_count
" : 0,  "serror_rate
" : 0,  "srv_serror_rate
" : 0,  "rerror_rate
" : 0,  "srv_rerror_rate
" : 1,  "same_srv_rate
" : 0,  "diff_srv_rate
" : 0,  "srv_diff_host_rate
" : 0,  "dst_host_count
" : 0,  "dst_host_srv_count
" : 0,  "dst_host_same_srv_rate
" : 0,  "dst_host_diff_srv_rate
" : 0,  "dst_host_same_src_port_rate
" : 0,  "dst_host_srv_diff_host_rate
" : 0,  "dst_host_serror_rate
" : 0,  "dst_host_srv_serror_rate
" : 0,  "dst_host_rerror_rate
" : 0,  "dst_host_srv_rerror_rate
    "unknown" : "normal."
}

看到我使用相同的数据文件和命令,我认为它一定是环境中的东西。系统区域设置相同,但导入仍无法正常工作。有没有人见过这样的行为?

编辑我应该补充一点,两台机器都运行相同版本的 MongoDB:2.6.5

4

2 回答 2

1

我建议您验证两台机器上的文件是否确实相同:

md5sum kddcup.data.corrected kddcup99header

并验证mongoimport工具的版本:

mongoimport --version
于 2014-12-02T12:50:18.823 回答
0

最终,根据@helmy 的回答,我走了很长一段路。我从工作的 Mongo 实例导出并将其导入到非工作的实例中。

于 2014-12-02T15:34:39.093 回答