使用Django应用程序尝试连接到hive2服务器,如下所示:
当运行“python manage.py inspectdb> webapp / models.py”以使用表的数据对象的类更新models.py时,我收到如下错误:
django.core.exceptions.ImproperlyConfigured:'django.db.backends.hive2'不是可用的数据库后端。 尝试使用'django.db.backends.XXX',其中XXX是以下之一: 'mysql','oracle','postgresql','sqlite3'
在浏览了Django docs here之后我明白Django只支持数据库服务器以上,但是想知道在Django中是否有任何访问HIVE2服务器的方法,我有一个python独立脚本是能够连接到hive2服务器并在shell中打印结果如下所示,是否有任何方法可以将Django与此脚本耦合,以便我可以在前端向用户显示我的表:
dbconnect.py
from p in Person select new Person(p);
答案 0 :(得分:1)
settings.py
运行项目时,连接到数据库一次。conn
对象以在任何模块中使用。conn
个对象(例如,在views.py
中)。示例:强>
在settings.py
:
from impala.dbapi import connect
import pandas as pd
DATABASE_CONN = connect(host='zzzzzzzz',
port=0001,
auth_mechanism='PLAIN',
user="xxxxxx",
password="yyyyy")
然后在views.py
:
from django.conf import settings
conn = settings.DATABASE_CONN
def test_view(request)
query = "select * from table1 limit 5"
cur = conn.cursor()
try:
cur.execute(query)
rows = cur.fetchall()
...