我是spark java框架的新手,如何使用sparkjava框架将值插入mysql数据库?
发布于 2015-10-31 21:48:39
假设您已经读取了要插入到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.
}
});发布于 2015-11-02 03:21:12
为了构建Shivanand的答案,您确实希望使用foreachPartition,而不是foreach。使用foreach,您将为每个元素打开一个数据库连接,而不是每个分区一次。这是有益的,有几个原因,但最重要的是,它将需要一段时间来打开连接。然后,将为每个元素传递该开销。您还将尝试打开大量连接,当管理员看到可能有数百万个数据库连接请求时,他们可能会非常生气。
发布于 2016-09-29 17:09:09
如果您已经读取了该文件,则使用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中。
https://stackoverflow.com/questions/33451433
复制相似问题