Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
Sql server 在写入dataframe-pyspark之前从表中删除记录_Sql Server_Pyspark_Apache Spark Sql_Pyspark Dataframes_Aws Glue Spark - Fatal编程技术网

Sql server 在写入dataframe-pyspark之前从表中删除记录

Sql server 在写入dataframe-pyspark之前从表中删除记录,sql-server,pyspark,apache-spark-sql,pyspark-dataframes,aws-glue-spark,Sql Server,Pyspark,Apache Spark Sql,Pyspark Dataframes,Aws Glue Spark,我试图在从dataframe向表中写入数据之前删除表中的记录。这对我不起作用。。。我做错了什么 Goal: "delete from xx_files_tbl" before writing new dataframe to table. query = "(delete from xx_files_tbl)" spark.write.format("jdbc")\ .option("url&quo

我试图在从dataframe向表中写入数据之前删除表中的记录。这对我不起作用。。。我做错了什么

Goal: "delete from xx_files_tbl" before writing new dataframe to table.
 
query = "(delete from xx_files_tbl)"
spark.write.format("jdbc")\
            .option("url", "jdbc:sqlserver://"+server+":1433;databaseName="+db_name)\
            .option("driver", driver_name)\
            .option("dbtable", query)\
            .option("user", user)\
            .option("password", password)\
            .option("truncate", "true")\
            .save()

谢谢。

您可以使用.mode(“overwrite”)和.option(“truncate”,true)直接写入数据帧,而不是在写入数据帧之前删除sql server表中的数据


您不能删除数据,因为数据帧是不可变的。你可以做过滤操作,创建新的数据框,然后写到你的位置。我想这样做会对你有所帮助


newdf=spark.sql(“select*from xx_files_tbl,其中valuespark documentations表示,
dbtable
用于传递应该从中读取或写入的表。
from
子句只能在使用JDBC连接器读取数据时使用。(资源:)


我的建议是要么使用
覆盖
写入模式,要么为数据删除打开一个单独的连接。数据删除和连接到MySQL服务器不需要Spark。使用
Python MySQL
连接器或打开一个单独的jdbc连接就足够了。

有人能帮忙吗..被困在这个f上了吗或者几个小时。他不想从df中删除数据,而是从目标表中删除数据。嗨,Alex-谢谢你的反馈。因为这是一项粘合工作,所以在使用python库时非常挑剔。有没有办法做到这一点,因为我使用的是MS SQL Server…你有没有关于如何为SQL Server打开单独的jdbc连接的示例