python打通hive数据库实现CRUD
步骤一:
通常是有个库叫pyhive,但是可以通过pyodbc来实现本地多种驱动配置
上述代码实现:
import pyodbc
# 获取ODBC驱动
drivers = pyodbc.drivers()
for driver in drivers:
print(driver)
上述代码会打印出你本地配置的驱动
步骤二:
import pyodbc
connection_string = (
"DSN={你的hive数据库配置名字};"
"Host={显示的是配置的host};"
"Port={端口号};"
"PWD={你的密码};"
)
conn = pyodbc.connect(connection_string, autocommit=True)
hive_sql="需要输入的sql语法"
df=pd.read_sql(hive_sql,conn)
#将其返还回一个dataframe,方便后续进一步操作
#我这里更偏向于使用python处理数据
#hive性能调优这部分可以放在hive_sql里面
df
遇到的大坑:(欢迎来踩)
import pyodbc
connection_string = (
"DSN={你的hive数据库配置名字};"
"Host={显示的是配置的host};"
"Port={端口号};"
"PWD={你的密码};"
)
conn = pyodbc.connect(connection_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("..........")
data=cursor.fetchall()
data=pd.Dataframe(data)
print(data)
可以对比上述的两个data出来的区别