Как избежать дублирования вставки записей, используя драйвер teradata sql в python? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть таблица, созданная в teradata, в которую я загружаю несколько записей из каждого файла, который загружается в папку. Некоторые файлы могут иметь повторяющиеся записи. Есть ли способ проверить дубликаты записей перед их вставкой в ​​таблицу и сохранить только одну уникальную запись?

num_of_chunks = 1000  #breaking the data into chunks 

#Insert Query
insert_query= "INSERT INTO db.table VALUES(?,?,?,?,?)" 

#set host, user, password params
host,username,password = 'x','y', "z"

#connet to DB using UdaExec
udaExec = teradata.UdaExec (appName="IMC", version="1.0", logConsole=False)
        with udaExec.connect(method="odbc",system=host, username = username,
                         password=password, driver="Teradata") as session:
            file_exist=session.execute(file=r"\\path to a fastload script to 
            create a table in a db in teradata" ,fileType="bteq",ignoreErrors= 
            [3803])
            df_chunks = np.array_split(df, num_of_chunks)

            for i,_ in enumerate(df_chunks):

               data = [tuple(x) for x indf_chunks[i].to_records(index=False)]

               rows= session.executemany(insert_query, data,batch=True)
...