在R中创建类似于seq()函数的Udf()吗?

时间:2019-03-25 09:15:33

标签: apache-spark apache-spark-sql

给出数据集:

   +-----------------+-----------------+---------------+-----+
   |dim_event_user_id|dim_event_date_id|Date_difference|count|
   +-----------------+-----------------+---------------+-----+
   |         11749123|       2018-01-27|              0|    4|
   |         11749123|       2018-04-30|             93|    4|
   |         11749123|       2018-08-12|            104|    4|
   |         11749123|       2018-12-29|            139|    4|
   |         11752641|       2018-02-11|              0|    2|
   |         11752641|       2018-06-19|            128|    2|
   |         11752707|       2018-01-21|              0|    1|
   +-----------------+-----------------+---------------+-----+

我想从上表中复制一个表,如果我的count === 4将返回我(1,2,3,4),如果我的count === 2返回我(1,2)

换句话说,我想要一个这样的表:

   +-----------------+-----------------+---------------+-----+---------+
   |dim_event_user_id|dim_event_date_id|Date_difference|count|visit_num|
   +-----------------+-----------------+---------------+-----+---------+
   |         11749123|       2018-01-27|              0|    4|        1|
   |         11749123|       2018-04-30|             93|    4|        2|
   |         11749123|       2018-08-12|            104|    4|        3|
   |         11749123|       2018-12-29|            139|    4|        4|
   |         11752641|       2018-02-11|              0|    2|        1|
   |         11752641|       2018-06-19|            128|    2|        2|
   |         11752707|       2018-01-21|              0|    1|        1|
   +-----------------+-----------------+---------------+-----+---------+

我以前在R中使用较小的数据在R中执行了此操作,并在user_id上使用for()循环和groupBy,然后在count列上使用seq()函数。因为,我是火花的新手,所以我无法在火花中弄清楚这一点。

0 个答案:

没有答案