小编men*_*gwu的帖子

如何从DataFrame获取最后一行?

我有一个DataFrame,该DataFrame有两列“值”和“时间戳”,“ timestmp”是有序的,我想获取DataFrame的最后一行,我该怎么办?

这是我的输入:

+-----+---------+
|value|timestamp|
+-----+---------+
|    1|        1|
|    4|        2|
|    3|        3|
|    2|        4|
|    5|        5|
|    7|        6|
|    3|        7|
|    5|        8|
|    4|        9|
|   18|       10|
+-----+---------+
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

    val arr = Array((1,1),(4,2),(3,3),(2,4),(5,5),(7,6),(3,7),(5,8),(4,9),(18,10))
    var df=m_sparkCtx.parallelize(arr).toDF("value","timestamp")
Run Code Online (Sandbox Code Playgroud)

这是我的预期结果:

+-----+---------+
|value|timestamp|
+-----+---------+
|   18|       10|
+-----+---------+
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql spark-dataframe

6
推荐指数
2
解决办法
1万
查看次数

如何删除数据帧 Scala/sSark 中的前几行?

我有一个 DataFrame,我想删除第一行和第二行。我应该怎么办?

这是我的输入:

+-----+
|value|
+-----+
|    1|
|    4|
|    3|
|    5|
|    4|
|   18|
-------
Run Code Online (Sandbox Code Playgroud)

这是例外的结果:

+-----+
|value|
+-----+
|    3|
|    5|
|    4|
|   18|
-------
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql

5
推荐指数
2
解决办法
2万
查看次数

当我在 spark/scala 中使用 window.partitionBy() 函数时,如何保持分区编号不变?

我有一个RDD,则RDD' partition结果变为200,当我使用window,我不能改变partition,当我使用window

这是我的代码:

val rdd= sc.parallelize(List(1,3,2,4,5,6,7,8),4)
val result = rdd.toDF("values").withColumn("csum", sum(col("values")).over(Window.partitionBy(col("values")))).rdd
println(result.getNumPartitions + "rdd2")
Run Code Online (Sandbox Code Playgroud)

我的输入分区是4,为什么结果分区是200?

我希望我的结果分区也是 4。

有没有更清洁的解决方案?

scala apache-spark apache-spark-sql

4
推荐指数
1
解决办法
1139
查看次数