我正在尝试将大型记录集从mongodb加载到熊猫,并且要以5000个为一批。使用WHERE ( ( $__unixEpochTo(TimeInt) - $__unixEpochFrom(TimeInt) > 100 AND
(id % 10) = 0
) OR
( $__unixEpochTo(TimeInt) - $__unixEpochFrom(TimeInt) > 1000 AND
(id % 1000 = 0
) OR
COALESCE($__unixEpochTo(TimeInt) - $__unixEpochFrom(TimeInt), 0) <= 100)
) AND
我可以获得前5000条记录,但是我不知道如何切换到下一个记录5000。
最终我要做的是
pymongo Command cursor
但是大量数据会冻结我的系统,所以我想分批处理
def load_data(command_cursor):
pd.DataFrame(list(command_cursor))
if num_records > 5000:
df = json_normalize(list(records.batch_size(5000)))
while records.alive:
try:
records.next()
except:
break
df.append(json_normalize(list(records.batch_size(5000))))
else:
df = json_normalize(list(records))
return df
属性始终为alive
,False
始终抛出next