我是spark java框架的新手,如何使用sparkjava框架将值插入到mysql数据库中?
答案 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。