2016-10-05 55 views
-4

我有一个日志文件,这个大小是200Gb。 我尝试找到执行此操作的方式,但我不知道。 我认为分割这个文件是没用的,但也许有办法做到这一点。 也许我可以做到这一点MapreduceHadoop?我不使用这个应用程序,但也许任何人有这个任务,并可以帮助解决方案。Python:处理日志文件200GB

+0

什么日志文件格式?给我们更多的细节和你到目前为止的尝试 – SerialDev

+0

@SerialDev它包含4列:'ID url used_at active_seconds',它的权重是200 GB。我无法打开它的文件,并且无法在python控制台中加载它 –

+0

你想用文件做什么?你为什么不能一行一行地阅读它? – Matthias

回答

1

对于不适合在RAM文件中,在成批读:

chunksize = 10 ** 6 
for chunk in pd.read_csv(filename, chunksize=chunksize): 
    process(chunk) 

从SQL查询又如:

df_list = [] 
for chunk in pd.read_sql_query(sql , conn, chunksize=10): 
    df_list.append(chunk) 
frames=pd.concat(df_list, ignore_index=True)