I have a database table from which I am trying to get 5+ million rows of two columns.
The following piece of code in python works perfectly and quickly (In about 3 minutes for the full 5+ rows of data, retrieved via query and written to CSV):
import pandas as pd
import teradatasql
hostname = "myhostname.domain.com"
username = "myusername"
password = "mypassword"
with teradatasql.connect(host=hostname, user=username, password=password, encryptdata=True) as conn:
df = pd.read_sql("SELECT COL1, COL2 FROM MY_TABLE", conn)
df.to_csv(mypath, sep = '\t', index = False)
The following piece of code in R with teradatasql
package works for small values of explicitly supplied row count to retrieve. But, when n is large enough (well not that large actually), or when I ask it to retrieve the full 5+ row data set, it take extraordinary amount of time or almost never returns.
Any idea what is going on?
library(teradatasql)
dbconn <- DBI::dbConnect(
teradatasql::TeradataDriver(),
host = 'myhostname.domain.com',
user = 'myusername', password = 'mypassword'
)
dbExecute(dbconn, "SELECT COL1, COL2 FROM MY_TABLE")
[1] 5348946
system.time(dbGetQuery(dbconn, "SELECT COL1, COL2 FROM MY_TABLE", n = 10))
user system elapsed
0.084 0.016 1.496
system.time(dbGetQuery(dbconn, "SELECT COL1, COL2 FROM MY_TABLE", n = 100))
user system elapsed
0.104 0.024 1.548
system.time(dbGetQuery(dbconn, "SELECT COL1, COL2 FROM MY_TABLE", n = 1000))
user system elapsed
0.488 0.036 1.826
system.time(dbGetQuery(dbconn, "SELECT COL1, COL2 FROM MY_TABLE", n = 10000))
user system elapsed
7.484 0.100 9.413
system.time(dbGetQuery(dbconn, "SELECT COL1, COL2 FROM MY_TABLE", n = 100000))
user system elapsed
767.824 4.648 782.518
system.time(dbGetQuery(dbconn, "SELECT COL1, COL2 FROM MY_TABLE", n = 5348946))
< DOES NOT RETURN IN HOURS >
Here is some version information for reference:
> packageVersion('teradatasql')
[1] ‘17.0.0.2’
> version
_
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 3
minor 6.1
year 2019
month 07
day 05
svn rev 76782
language R
version.string R version 3.6.1 (2019-07-05)
nickname Action of the Toes