0
後獲取數據幀的數量
比方說,我的索引列追加到DataFrame
如下:zipWithIndex
def addSequentialIndex(
sc: SparkContext,
df: DataFrame,
id: String) : DataFrame = {
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
sqlContext.createDataFrame(
df.rdd.zipWithIndex.map {
case (row: Row, i: Long) => Row.fromSeq(row.toSeq :+ i.toDouble)
},
df.schema.add(id, "double")
)
}
val dfWithIndex = addSequentialIndex(sc, df, "id")
,我想在dfWithIndex
的行數。 (背景:我想合併多個DataFrame
S和希望確保它們具有相同的行數。)有沒有辦法做到這一點,而無需通過再次DataFrame
迭代?完成此操作最便宜的方法是什麼?
更多信息:dfWithIndex.count()
得到結果,但因爲我們通過RDD
與zipWithIndex()
迭代我希望我們可以節省一些計算。
什麼是Spark版本? –
@JacekLaskowski理想情況下1.6和2.1,但我可以分開代碼,以優化後者。 – kevinykuo
如果它只是一個數,您可以嘗試使用蓄電池和增加它爲您打造的指數(http://spark.apache.org/docs/latest/programming-guide.html#accumulators) – Traian