使用pyspark从teradata中删除数据

使用pyspark从teradata中删除数据,pyspark,teradata,aws-glue,Pyspark,Teradata,Aws Glue,我试图从teradata中删除记录,然后写入表中以避免重复 所以我试过很多方法,但都不管用 我在读取数据时尝试过删除,这会在表和delete之间产生类似“(”的语法错误 spark.read.format('jdbc')。选项('driver','com.TeradataDriver')。选项('user','user')。选项('pwd','pwd')。选项('dbtable','delete from table')。load() 还尝试了下面的方法,这也给出了语法错误,比如在“(”和del

我试图从teradata中删除记录,然后写入表中以避免重复 所以我试过很多方法,但都不管用

  • 我在读取数据时尝试过删除,这会在表和delete之间产生类似“(”的语法错误 spark.read.format('jdbc')。选项('driver','com.TeradataDriver')。选项('user','user')。选项('pwd','pwd')。选项('dbtable','delete from table')。load()
  • 还尝试了下面的方法,这也给出了语法错误,比如在“(”和delete之间应该出现的错误 选项('dbtable','(从表中删除)作为td')

    2) 我尝试在写入不起作用的数据时删除


    df.write.format('jdbc')。options('driver','com.TeradataDriver')。options('user','user')。options('pwd','pwd')。options('dbtable','table')。('preactions','delete from table')。save()可能的解决方案是调用删除数据的过程

    import teradata
    
    host,username,password = '','', ''
    udaExec = teradata.UdaExec (appName="test", version="1.0", logConsole=False)
    
    with udaExec.connect(method="odbc"
                         ,system=host
                         ,username=username
                         ,password=password
                         ,driver="Teradata Database ODBC Driver 16.20"
                         ,charset= 'UTF16'
                         ,transactionMode='Teradata') as connect:
    
        connect.execute("CALL db.PRC_DELETE()", queryTimeout=0)