小编exp*_*ent的帖子

用于大数据数据处理的分布式计算

我有一个庞大的时间序列数据,我想使用spark的并行处理/分布式计算进行数据处理.要求是逐行查看数据,以确定下面指定的组在所需的结果部分下,如果没有执行者之间的某种协调,我真的无法获得分配这一点的火花

t- timeseries datetime sample,
lat-latitude,
long-longitude
Run Code Online (Sandbox Code Playgroud)


例如:采用一小部分样本数据集来解释案例

t   lat long
0   27  28
5   27  28
10  27  28
15  29  49
20  29  49
25  27  28
30  27  28 
Run Code Online (Sandbox Code Playgroud)

期望的输出应该是:

Lat-long    interval
(27,28) (0,10)
(29,49) (15,20)
(27,28) (25,30)
Run Code Online (Sandbox Code Playgroud)

我可以使用这段代码获得所需的结果

val spark = SparkSession.builder().master("local").getOrCreate()

import spark.implicits._

 val df = Seq(
  (0, 27,28),
  (5, 27,28),
  (10, 27,28),
  (15, 26,49),
  (20, 26,49),
  (25, 27,28),
  (30, 27,28)
).toDF("t", "lat","long")

val dfGrouped = df
.withColumn("lat-long", struct($"lat", $"long"))

val wAll = Window.partitionBy().orderBy($"t".asc)

dfGrouped.withColumn("lag", …
Run Code Online (Sandbox Code Playgroud)

scala distributed-computing apache-spark

7
推荐指数
1
解决办法
386
查看次数

将数据帧列中的空值替换为其他数据帧中的值到 id

我有两个数据框

df1:

    +---------------+-------------------+-----+------------------------+------------------------+---------+
|id             |dt                 |speed|stats                   |lag_stat                |lag_speed|
+---------------+-------------------+-----+------------------------+------------------------+---------+
|358899055773504|2018-07-31 18:38:36|0    |[9, -1, -1, 13, 0, 1, 0]|null                    |null     |
|358899055773504|2018-07-31 18:58:34|0    |[9, 0, -1, 22, 0, 1, 0] |[9, -1, -1, 13, 0, 1, 0]|0        |
|358899055773505|2018-07-31 18:54:23|4    |[9, 0, 0, 22, 1, 1, 1]  |null                    |null     |
+---------------+-------------------+-----+------------------------+------------------------+---------+
Run Code Online (Sandbox Code Playgroud)

df2:

+---------------+-------------------+-----+------------------------+
|id             |dt                 |speed|stats                   |
+---------------+-------------------+-----+------------------------+
|358899055773504|2018-07-31 18:38:34|0    |[9, -1, -1, 13, 0, 1, 0]|
|358899055773505|2018-07-31 18:48:23|4    |[8, -1, 0, 22, 1, 1, 1] |
+---------------+-------------------+-----+------------------------+
Run Code Online (Sandbox Code Playgroud)

我想将 df1 中的 …

scala apache-spark

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

使用 groupby spark 数据帧中的条件聚合

我有一个数据框

id lat long lag_lat lag_long detector lag_interval  gpsdt  lead_gpsdt
  1  12   13    12       13        1        [1.5,3.5]  4      4.5
  1  12   13    12       13        1        null       4.5    5
  1  12   13    12       13        1        null       5      5.5
  1  12   13    12       13        1        null       5.5    6
  1  13   14    12       13        2        null       6      6.5
  1  13   14    13       14        2        null       6.5    null
  2  13   14    13       14        2        [0.5,1.5]  2.5    3.5  
  2  13   14    13       14        2        null …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

0
推荐指数
1
解决办法
3645
查看次数