擅长:python、mysql、java
<p>我已经做了一些挖掘工作,这个解决方案很快就完成了任务—使用python teradata模块:</p>
<pre><code>import teradata
import numpy as np
import pandas as pd
num_of_chunks = 100 #breaking the data into chunks is optional - use if you have many rows or would like to view status updates
query = 'insert into SomeDB.SomeTeraDataTable'
df = someDataframe
#set host, user, password params
host,username,password = 'hostName_or_IPaddress','username', 'password'
#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 connect:
df_chunks = np.array_split(df, num_of_chunks)
for i,_ in enumerate(df_chunks):
data = [tuple(x) for x in df_chunks[i].to_records(index=False)]
connect.executemany(query, data,batch=True)
</code></pre>
<p>解决方案基于:此stackoverflow<a href="https://stackoverflow.com/questions/35938320/connecting-python-with-teradata-using-teradata-module">post</a></p>