Spark Streaming:如何有效地将foreachRDD数据保存到Mysql数据库中?

探戈舞

我们将建立一个实时计算系统,也想将处理后的数据保存到Mysql数据库中,下面是下面的代码:

splitWordInfo.foreachRDD(new Function<JavaRDD<String>, Void>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Void call(JavaRDD<String> rdd) throws Exception {
            rdd.foreachPartition(new VoidFunction<Iterator<String>>() {
                // Default Serial ID
                private static final long serialVersionUID = 1L;
                @Override
                public void call(Iterator<String> eachline) throws Exception {
                    String sql = "insert into test_mm(name,addr) values(?)";
                    Connection conn = DriverManager.getConnection("jdbc:mysql://xx.xx.xx.xx:3306/dbname", "user", "pass");
                    PreparedStatement stat = conn.prepareStatement(sql); 
                    while(eachline.hasNext()){
                        stat.setString(1, eachline.next());
                        stat.executeUpdate();
                    }
                    stat.close();
                    conn.close();
                }

            });
            return null;
        }
    });

是否会为每个rdd或每个分区打开/关闭mysql连接?

以及如何有效地将foreachRDD数据保存到Mysql数据库中。有人能帮我一个忙吗?

里什特什·米什拉

每个RDD分区就像一个单独的任务,您的程序将为每个分区获得连接。最好使用Hikari或Tomcat之类的连接池库。但是,即使有了连接池,与数据库的通信也要付出一定的代价。在这种模式下您无法避免。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spark:如何有效地将数据帧写入S3

来自分类Dev

如何有效地选择Spark中包含特定值的数据框列?

来自分类Dev

如何使用Spark以并行方式有效地将数据发送到REST端点?

来自分类Dev

如何在数据集中有效地重命名列(Spark 2.0)

来自分类Dev

如何有效地将树结构保存在数据库中?

来自分类Dev

将 Spark ML 管道保存到数据库

来自分类Dev

如何使用Java将数据从Spark Streaming保存到Cassandra?

来自分类Dev

如何使用Java将数据从Spark Streaming保存到Cassandra?

来自分类Dev

有效地批处理Spark数据帧以调用API

来自分类Dev

如何使用Spark有效地检查列中的所有值?

来自分类Dev

Spark:如何有效地使交叉口保留重复项(在Scala中)?

来自分类Dev

如何有效地在Spark Datframe中添加多个列

来自分类Dev

如何有效地将图片存储在数据库中?

来自分类Dev

如何更有效地将字典数据或数组列表数据保存到playerprefs?

来自分类Dev

有效地将Spark数据框列转置/分解为新表/数据框格式的行[pyspark]

来自分类Dev

如何将数据从 csv 加载到 Spark 中的 mysql 数据库?

来自分类Dev

如何有效地编辑数据库中的数据?

来自分类Dev

如何使用 PHP 更有效地将 csv 文件导入 MySQL 数据库?

来自分类Dev

如何在Python中有效地将参数解译到数据库

来自分类Dev

如何在数据库更新后有效地从数据库中获取数据?

来自分类Dev

如何有效地存储和搜索巨大的MySQL彩票数据库

来自分类Dev

如何在Spark(pySpark v1.2.0)中更有效地加载Parquet文件

来自分类Dev

如何使用数据库有效地修改句子中的单词?

来自分类Dev

Apache Spark中的有效数据框查找

来自分类Dev

如何最有效地从大型 SQLite 数据库中提取数据?

来自分类Dev

从Spark查询MySQL数据库

来自分类Dev

如何将Spark Streaming数据转换为Spark DataFrame

来自分类Dev

如何在MySQL数据库中保存Apache Spark架构输出

来自分类Dev

如何在数据库更新后立即有效地从数据库获取数据?

Related 相关文章

  1. 1

    Spark:如何有效地将数据帧写入S3

  2. 2

    如何有效地选择Spark中包含特定值的数据框列?

  3. 3

    如何使用Spark以并行方式有效地将数据发送到REST端点?

  4. 4

    如何在数据集中有效地重命名列(Spark 2.0)

  5. 5

    如何有效地将树结构保存在数据库中?

  6. 6

    将 Spark ML 管道保存到数据库

  7. 7

    如何使用Java将数据从Spark Streaming保存到Cassandra?

  8. 8

    如何使用Java将数据从Spark Streaming保存到Cassandra?

  9. 9

    有效地批处理Spark数据帧以调用API

  10. 10

    如何使用Spark有效地检查列中的所有值?

  11. 11

    Spark:如何有效地使交叉口保留重复项(在Scala中)?

  12. 12

    如何有效地在Spark Datframe中添加多个列

  13. 13

    如何有效地将图片存储在数据库中?

  14. 14

    如何更有效地将字典数据或数组列表数据保存到playerprefs?

  15. 15

    有效地将Spark数据框列转置/分解为新表/数据框格式的行[pyspark]

  16. 16

    如何将数据从 csv 加载到 Spark 中的 mysql 数据库?

  17. 17

    如何有效地编辑数据库中的数据?

  18. 18

    如何使用 PHP 更有效地将 csv 文件导入 MySQL 数据库?

  19. 19

    如何在Python中有效地将参数解译到数据库

  20. 20

    如何在数据库更新后有效地从数据库中获取数据?

  21. 21

    如何有效地存储和搜索巨大的MySQL彩票数据库

  22. 22

    如何在Spark(pySpark v1.2.0)中更有效地加载Parquet文件

  23. 23

    如何使用数据库有效地修改句子中的单词?

  24. 24

    Apache Spark中的有效数据框查找

  25. 25

    如何最有效地从大型 SQLite 数据库中提取数据?

  26. 26

    从Spark查询MySQL数据库

  27. 27

    如何将Spark Streaming数据转换为Spark DataFrame

  28. 28

    如何在MySQL数据库中保存Apache Spark架构输出

  29. 29

    如何在数据库更新后立即有效地从数据库获取数据?

热门标签

归档