如何使用spark java框架将数据插入到mysql数据库中

时间:2015-10-31 12:13:13

标签: mysql angularjs jsp

我是spark java框架的新手,如何使用sparkjava框架将值插入到mysql数据库中?

3 个答案:

答案 0 :(得分:0)

假设您已经读取了要插入RDD的数据,可以使用以下代码将记录插入数据库。

            rdd.foreach(new VoidFunction<String>() {
                @Override
                public void call(String s) throws Exception {
                    //You Code to parse the String and insert the values into MYSQL.        
                }
            });

答案 1 :(得分:0)

基于Shivanand的答案,你真的想要使用foreachPartition而不是foreach。使用foreach,您将为每个元素打开数据库连接,而不是每个分区一次。这有利于几个原因,但最重要的是它需要一段时间才能打开连接。然后将为每个元素继承该开销。您还将尝试打开许多连接,并且当他们看到可能存在数百万个数据库连接请求时,可能会使其中一个管理员非常生气。

答案 2 :(得分:0)

如果您已经阅读过该文件,请使用foreachpartition功能。它将帮助您将其插入MySQL。

举例 -

rdd.foreachpartition(new VoidFunctioin<String> x)
{
  //Here make a connection enter code here
  public void call(Iterator<String> x)
  {
    Connection c=(Connection)DriverManager.getConnection("your conncetion name,localhost,dbname");
    while(x.hasNext())
    {
      String it=x.next();
      PreparedStatement ps=c.preparestatement("Insert into table_name (coln_name) values ("?")");
      ps.execute();    
    }
  }
});

它会将其插入MySQL。