小编Ati*_*zad的帖子

使用 Scala 更新 Spark 数据库中的数据

我正在开发一个使用 Spark 和 scala 的项目,我对两者都是新手,但是在 stackoverflow 的帮助下,我已经完成了所有数据处理并将处理后的数据存储在 mysql 中。现在我终于遇到了一个问题,我不知道如何解决它。当我第一次处理数据时,我使用这种方法存储数据帧,并且第一个时间表是空的。

      df.write.mode("append").jdbc("dburl", "tablename", "dbproperties"); 
Run Code Online (Sandbox Code Playgroud)

假设我处理的数据在数据库中看起来像这样。

      id      name       eid      number_of_visitis    last_visit_date
      1       John       C110     12                   2016-01-13 00:00:00
      2       Root       C111     24                   2016-04-27 00:00:00
      3       Michel     C112     8                    2016-07-123 00:00:00
      4       Jonny      C113     45                   2016-06-10 00:00:00
Run Code Online (Sandbox Code Playgroud)

现在,名为“Root”且 eid 为“C111”的人于“2016-08-30 00:00:00”访问办公室 2 次,在处理此新数据后,我只需要更新数据库中的此人记录。我将如何做到这一点。现在更新后的表应该如下所示。

      id      name       eid      number_of_visitis    last_visit_date
      1       John       C110     12                   2016-01-13 00:00:00
      2       Root       C111     26                   2016-08-30  00:00:00
      3       Michel     C112     8                    2016-07-123 00:00:00
      4       Jonny      C113     45                   2016-06-10 00:00:00
Run Code Online (Sandbox Code Playgroud)

我在这个表中有数百万条数据,如果我在 Spark DataFrame …

scala apache-spark

5
推荐指数
1
解决办法
7671
查看次数

将 DataFrame 拆分为两个 DataFrame

我有一个日期框架,其中有基于数字的唯一记录和重复记录。现在我想将数据帧分成两个数据帧。在第一个数据帧中,我只需要复制唯一的行,在第二个数据帧中,我想要所有重复的行。例如

     id   name     number
     1    Shan     101
     2    Shan     101
     3    John     102
     4    Michel   103
Run Code Online (Sandbox Code Playgroud)

两个分割的数据框应该像

独特的

      id    name    number
      3     John    102
      4     Michel  103
Run Code Online (Sandbox Code Playgroud)

重复

      id   name     number
      1    Shan     101
      2    Shan     101
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

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

标签 统计

apache-spark ×2

scala ×2