2016-08-30 106 views
1

我試圖從查詢的基礎上從DB2數據庫讀取數據。查詢的結果集大約有20-40萬條記錄。 DF的分區是基於整數列來完成的。需要知道Dataframe Spark中的分區詳細信息

我的問題是,一旦加載數據,我該如何檢查每個分區創建了多少條記錄。基本上我想檢查的是,如果數據傾斜正在發生或沒有發生?我如何檢查每個分區的記錄數?

回答

1

例如你可以在地圖的分區,並確定它們的大小:

val rdd = sc.parallelize(0 until 1000, 3) 
val partitionSizes = rdd.mapPartitions(iter => Iterator(iter.length)).collect() 

// would be Array(333, 333, 334) in this example 

該方法適用於RDD和數據集/數據幀API兩者。