2
目前,我正在用Spark對圖像分類進行編程。我需要閱讀所有的圖像到內存中RDD和我的方法如下:Spark如何有效讀取100K圖像?
val images = spark.wholeTextFiles("hdfs://imag-dir/")
IMAG-DIR是目標圖像上HDFS存儲目錄。使用這種方法,所有的圖像將被加載到內存中,每個圖像將被組織爲「圖像名稱,圖像內容」對。但是,我發現這個過程非常耗時,有沒有更好的方法將大圖像數據加載到spark中?
嘗試將數據放在RAMdisk或SSD上以查看是否在I/O或處理中使用了該時間,以便您更好地瞭解需要解決的問題。您是否已經使用多線程,並且在多核/多CPU系統上運行? http://apache-spark-user-list.1001560.n3.nabble.com/How-to-use-multi-thread-in-RDD-map-function-td15286.html –
@MarkSetchell是的,該程序是多-threaded。我認爲I/O是優化的一個好點,現在我正在開發它。 – Neal