在AmazonEC2或picloud中并行运行相同的python脚本需要哪些步骤

在AmazonEC2或picloud中并行运行相同的python脚本需要哪些步骤,python,parallel-processing,amazon-ec2,cloud,Python,Parallel Processing,Amazon Ec2,Cloud,我需要一些关于并行处理任务的帮助,我正试图尽快完成 它只需要将一个较大的数据帧分割成较小的数据块,并在每个数据块上运行相同的脚本 我认为这被称为令人尴尬的平行 如果有人能推荐一个模板,使用amazon云服务或picloud来完成这项任务,我将不胜感激 我已经开始尝试AmazonEC2和picloud(我将在每个数据块上运行的脚本都是python),但我意识到我可能 在没有帮助的情况下,也不知道如何在这两种情况下完成 因此,任何指点都将不胜感激。我只是想寻求一些基本的帮助(对那些了解情况的人来说)

我需要一些关于并行处理任务的帮助,我正试图尽快完成

它只需要将一个较大的数据帧分割成较小的数据块,并在每个数据块上运行相同的脚本

我认为这被称为令人尴尬的平行

如果有人能推荐一个模板,使用amazon云服务或picloud来完成这项任务,我将不胜感激

我已经开始尝试AmazonEC2和picloud(我将在每个数据块上运行的脚本都是python),但我意识到我可能 在没有帮助的情况下,也不知道如何在这两种情况下完成

因此,任何指点都将不胜感激。我只是想寻求一些基本的帮助(对那些了解情况的人来说),比如使用ec2或picloud或其他工具设置并行内核或CPU,并行运行脚本,保存脚本输出,即脚本将计算结果写入csv文件


我正在运行Ubuntu12.04,我的python 2.7脚本不涉及非标准库,只涉及os和csv。脚本并不复杂,只是数据对于我的机器和时间范围来说太大。

此脚本使用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)

使用该功能分配特定数量的核。

数据有多大?它是在一个大文件中还是在多个小文件中?光盘上的数据约为50mb。我在其中的一小部分上运行了脚本,花了80分钟才完成。时间似乎是线性扩展的,我想我正在寻找1000小时的处理时间!这时我想到了可能将它拆分为许多不同的内核。非常感谢这个BrainCore,我现在将尝试在一个测试用例上实现它,我将发布我的结果。顺便说一句,我没有足够的声誉来支持你的答案,尽管我很想!事件在这里发生了转变,我可能暂时无法发布结果。与此同时,我非常高兴地接受这一点,作为我所寻找的答案。再次感谢BrainCore。