Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSpark-MySQL使用外键约束插入数据_Mysql_Apache Spark_Dataframe_Dataset - Fatal编程技术网

JavaSpark-MySQL使用外键约束插入数据

JavaSpark-MySQL使用外键约束插入数据,mysql,apache-spark,dataframe,dataset,Mysql,Apache Spark,Dataframe,Dataset,我正在尝试使用spark dataset/rdd将数据插入MYSQL数据库 表A: +------+------+------------------------+ | Col | type | desc | +------+------+------------------------+ | id | int | primary key | | name | text | some name | | b

我正在尝试使用spark dataset/rdd将数据插入MYSQL数据库

表A:

+------+------+------------------------+
| Col  | type |          desc          |
+------+------+------------------------+
| id   | int  | primary key            |
| name | text | some name              |
| b_id | int  | foreign key to table B |
+------+------+------------------------+
表B:

+------+------+-----------------------------+
| Col  | type |            desc             |
+------+------+-----------------------------+
| id   | int  | primary key, Auto Increment |
| name | text | some name                   |
+------+------+-----------------------------+

我正在从CSV文件中读取数据,并试图将数据写入表A,但无法插入到A中。我们需要表B中的一些id(外键)。如果我创建一个bean a并将bean B作为a的一部分。每当我插入a时,这会自动创建B吗?

相反:a应该是B的一部分,因为B是父级,a是子级。您应该先将数据导入B,然后再导入A。@Shadow“您应该先将数据导入B,然后再导入A”-您能描述一下如何导入吗?由于
DataFrameWriter#jdbc
DataFrameWriter#save
是动作,而不是转换,我们无法获得新插入行的id——那么在插入一个DF的B行之后,我们如何获得它们,以便我们可以插入a行及其相应的
B#id
值?我在这里写了一个类似的问题:@et_l不知道,我只知道mysql,但不知道java。不过,我可以识别外键,反之亦然:a应该是B的一部分,因为B是父母,a是孩子。您应该先将数据导入B,然后再导入A。@Shadow“您应该先将数据导入B,然后再导入A”-您能描述一下如何导入吗?由于
DataFrameWriter#jdbc
DataFrameWriter#save
是动作,而不是转换,我们无法获得新插入行的id——那么在插入一个DF的B行之后,我们如何获得它们,以便我们可以插入a行及其相应的
B#id
值?我在这里写了一个类似的问题:@et_l不知道,我只知道mysql,但不知道java。不过,我能识别外键。