2017-05-01 42 views
0

我有一個大矩陣的大目錄,我正在對這樣的矩陣應用一些昂貴的操作。流水線看起來像這樣:如何通過pyspark/hadoop/etc來提高程序的速度?

Directory -> extract matrices -> apply operations -> save in a .csv file 

請注意,我包裹到一個函數前面的「管道」。到目前爲止,在python的多處理庫中,我能夠在1周內應用上一個管道。但是,我很好奇是否可以在火花貼圖中「並行化」 - 減少前一個函數的方式。因此,我的任務是否可以通過pysparks map reduce來增強?我怎樣才能提高速度? (我只有兩臺筆記本電腦),你們是否推薦我在不修改功能的情況下增加管道速度?

+0

在跳轉到Spark之前嘗試使用Dask –

回答

1

我認爲最簡單的事情是在更大的計算機上運行。 Spark和Map-Reduce並不是專爲筆記本電腦設計的,它們是用於服務器的。您可以租用服務器(AWS,Google Compute Engine),並在擁有更多CPU內核(4個或更多)的內存更大的服務器上運行您的管道(我推薦理想情況下爲64GB或更高的32GB)。在實際租用服務器之前,您可以隨時在免費套餐上試玩您的測試(AWS和Google都有免費套餐)。之後,你會投入更多的服務器。

https://aws.amazon.com/ec2/pricing/on-demand/https://cloud.google.com/compute/pricing有定價細節,但你會驚訝什麼你可以購買低於2美元/小時。

+0

也可以使用Databricks。 https://databricks.com/product/pricing –