0
我有一個數據框,我打算寫作蜂巢分區表。我使用該代碼到底是火花/斯卡拉 - 更快的方式來加載數據幀在蜂巢表
for(i <- 0 until 10)
{
myDf = hiveContext.sql("select * from srcTable where col = "+i)
myDf.write.mode("append").format("parquet")
.partitionBy("period_id").saveAsTable("myTable")
}
myDf
會包含不同的數據集在每次迭代(我已經展示了我是如何得到myDf
值的過於簡單化的方式)
的myDf.write
約需5分鐘可載入120,000行數據。有什麼辦法可以進一步減少寫入所有這些數據所需的時間?
循環在那裏,因爲除了我所展示的許多其他任務使用它執行。再加上'select * from srcTable where col ='部分與來自其他數據框的大量連接相當複雜。即使我沒有使用迭代,這裏的時間也會被我在表中寫入數據框的方式所消耗。經過大量搜索後,我想通過這種方式,但我仍然想知道是否有任何方法可以加快速度。我對Spark有點新,所以我不得不查看執行者/核心部分。 – Amber