2016-10-04 37 views
0

我有一個要求並行Scala數據框來加載各種表。我有一個事實表,它有大約1.7TB的數據。這需要大約5分鐘的時間來加載。我想同時加載我的維度表,這樣我可以減少我的總體規模。我對Scala中的Concurrent API不熟悉?如何在數據框架上使用併發API?

回答

0

您需要在Spark上閱讀 - 它的重點在於並行處理超出單機範圍的數據。本質上,Spark將通過並行運行多個任務來並行執行負載 - 這完全取決於您如何設置羣集 - 從我猜測您只能使用的問題,以及您在本地模型中運行該問題,在這種情況下,您至少應該與本地運行[數字處理器的你]

如果我不說清楚,你不應該還可以使用任何其他的Scala併發性的API

+0

sqlContext.sql(「FROM Fact_Table SELECT鍵,值「)。collect()。foreach(println) sqlContext.sql(」FROM Dimension1 SELECT key,value「)。collect()。foreach(println) sqlContext.sql(」FROM Dimension2 SELECT key,value「)。 collect()。foreach(println) 如果我以這種方式運行命令我首先執行Fact Table Select,然後是Dimension1,然後Dimension 2 在上述情況下,我想同時運行語句以便同時加載事實表和維度表,而不是連續加載 –

+0

不收集-it發送所有數據回執行者。這似乎是一個XY問題(http://xyproblem.info/)你可能應該問另一個問題,你正準備解決什麼 –

+0

我舉了一個例子,理想情況下我們將選擇進入各種數據框,然後加入所有的數據框和事實表來獲得最終的表。但我的問題是如何將數據從配置表格中併發地加載到scala中的數據框中 –

相關問題