【发布时间】:2021-05-06 08:02:46
【问题描述】:
我有一个使用 RJDBC 驱动程序连接到 Vertica 数据库的 R 代码。代码如下:
library(RJDBC)
#for vertica save
user = "myuser"
pwd = "mypwd"
driver<- JDBC(driverClass="com.vertica.jdbc.Driver", classPath=Pathto thedriver")
connection<- dbConnect(driver, databasewithport, user, pwd)
sql_code = paste("SELECT .....")
mydata= dbGetQuery(connection, sql_code )
我正在寻找一种有助于做同样事情但使用 Python 的解决方案。我找到了以下link,但不明白该使用哪个示例以及该做什么。据我了解,这里不需要连接到 RJDBC 驱动程序。您能否帮助找到与 R 版本提供相同输出的解决方案。
下面的代码运行良好,但是,数据作为一个值检索,要获得另一个值,我需要更改....cur.fetchone()[ANYNUMBER])。如何获取 SQL 代码的数据框?
import vertica_python
conn_info = {'host': '127.0.0.1',
'port': 5433,
'user': 'some_user',
'password': 'some_password',
'database': 'vdb',
'connection_load_balance': True}
# Server enables load balancing
with vertica_python.connect(**conn_info) as conn:
cur = conn.cursor()
cur.execute("SELECT NODE_NAME FROM V_MONITOR.CURRENT_SESSION")
print("Client connects to primary node:", cur.fetchone()[0])
cur.execute("SELECT SET_LOAD_BALANCE_POLICY('ROUNDROBIN')")
【问题讨论】: