我需要一些关于并行处理任务的帮助,我试图尽快完成。
它只是将大型数据框拆分为较小的块并在每个块上运行相同的脚本。
我认为这被称为非常平行。
如果有人可以使用亚马逊云服务或picloud建议模板来完成此任务,我将非常感激。
我已经初步尝试了亚马逊ec2和picloud(我将在每个数据块上运行的脚本在python中)但是意识到我可能 如果没有一些帮助,不知道如何做到这一点。
所以,任何指针都会非常感激。我只是在寻找基本的帮助(对于那些知道的人),例如使用ec2或picloud等设置并行内核或cpus的主要步骤,并行运行脚本,并保存脚本输出,即脚本将其计算结果写入csv文件。
我正在运行ubuntu 12.04,我的python 2.7脚本不涉及非站点库,只有os和csv。脚本并不复杂,只是数据对于我的机器和时间范围来说太大了。
答案 0 :(得分:4)
此脚本使用PiCloud的Python云库,应该在本地运行。
# chunks is a list of filenames (you'll need to define generate_chunk_files)
chunks = generate_chunk_files('large_dataframe')
for chunk in chunks:
# stores each chunk in your PiCloud bucket
cloud.bucket.put(chunk)
def process_chunk(chunk):
"""Runs on PiCloud"""
# saves chunk object locally
cloud.bucket.get(chunk)
f = open(chunk, 'r')
# process the data however you want
# asynchronously runs process_chunk on the cloud for all chunks
job_ids = cloud.map(process_chunk, chunks)
使用Realtime Cores功能分配特定数量的核心。