提问者:小点点

使用Spark/Java将数据框架中的记录插入到MySQL表中


我有一个数据帧:

+------------+-------+-------------------+-----------+---+------+--------------------+-----------+
|   id_alerte|id_type|      tracking_time|ID_tracking|vue|    id|         observation|id_vehicule|
+------------+-------+-------------------+-----------+---+------+--------------------+-----------+
|188978561024|      9|2020-02-19 09:20:54|  900100393|  0|100491|LE VEHICULE A ARR...|     997801|
+------------+-------+-------------------+-----------+---+------+--------------------+-----------+

我的数据库表:

+------------------+-------------+
|id_alertePrimaire | int(11)     |
+------------------+-------------+      
|  id_alerte       | int P_K     |
|  id_type         | int(11)     |      
| dateAlerte       | timestamp   |          
| id_tracking      | bigint(20)  |                  
| vue              | tinyint(1)  |          
| id_alert_prog    | int(11)     |              
| observation      | varchar(255)|          
| id_vehicule      |  int(11)    |
+------------------+-------------+              

我想把这个记录保存在MaySQL表上

我使用的代码是:

data.write().format("jdbc").option("url", "myurl")
                             .option("driver", "com.mysql.jdbc.Driver")
                             .option("dbtable", "alerte").option("user", "root").option("password", "").mode("append");

我没有收到任何错误,但没有向数据库表中添加任何内容

如果你知道我会非常感谢


共1个答案

匿名用户

您传递的是字符串“myURL”字符串,而不是变量值mySQL

尝试使用选项中的myurl(或)将jdbc url保持为硬编码的...

data.write().format("jdbc").option("url", myurl)
                             .option("driver", "com.mysql.jdbc.Driver")
                             .option("dbtable", "alerte").option("user", "root").option("password", "").mode("append");