level 7
db.loginInfoHistory.distinct('phone').length
我在这个loginInfoHistory中,查询手机号的用户数量,需要用distinct去重。
数据量少的时候没问题,数据量大了,就会报错:
Error: distinct failed: { "ok" : 0, "errmsg" : "distinct too big, 16mb cap", "code" : 17217 }
去重数据太大,超过16MB
怎么办?
2017年06月27日 08点06分
1
level 7
开始我试了一下,改成这个:
db.loginInfoHistory.aggregate([{$group: {_id: {"phone": "$phone"}}}]).count()
能用,但是后来数据量又大了,还是会出现超过16M的报错。
然后我就用hive把mongoDB的数据导入进去,在hive里进行查询即可。
2017年08月01日 00点08分
6
level 1
想问问大佬是怎么把mongodb的数据放到hive里面的
2018年05月23日 08点05分
7