我是Django框架的新手,在我的项目中,我有一个要求,我必须连接到databricks增量表并对其执行CRUD操作。如果我们可以连接它。我请求你列出步骤。谢谢。
ilmyapht1#
您尝试使用databricks-sql-connector是正确的,但您对www.example.com中的数据库详细信息感到困惑settings.py,在那里您无法添加databricks集群数据库。根据文档,以下是支持可以在Django中使用的数据库。(https://docs.djangoproject.com/en/4.1/ref/databases/)
**第一步:**在您的Django python环境中安装python包
https://pypi.org/project/databricks-sql-connector/pip安装数据库ricks-sql连接器
**第二步:**www.example.com中的配置setting.py,默认数据库保持不变。
步骤3:运行python迁移。
python .\manage.py makemigrations
步骤4:在databricks集群中创建增量表
%sql CREATE TABLE products ( product_name string, price int) USING DELTA;
上面是创建表的代码。在这里你可以看到列名类似于models.py中创建的模型字段。
**第五步:**插入数据到表中
insert into products values ('TV',60000) insert into products values (Iphone,50000) insert into products values (Macbook,150000)
第六步:
从databricks集群中获取主机、http_path和访问令牌。您可以在集群〉配置〉高级选项〉JDBC/ODBC下找到您的主机和http路径
对于访问令牌,您需要创建一个。转到数据块菜单右侧的下拉菜单〉用户设置〉生成新令牌。
第七步:
知道创建一个视图来获取上面的数据。这里是一个读操作的例子
from django.shortcuts import render from databricks import sql def get(request): connection = sql.connect( server_hostname= your_host, http_path= your_http_path, access_token= your_access_token cursor = connection.cursor() cursor.execute('SELECT * FROM `products`') result = cursor.fetchall() tmpB=[] for row in result: dictRow = row.asDict() tmpB.append(dictRow) cursor.close() connection.close() return render(request,'details.html',{product:tmpB})
获取数据后,您可以在模板中渲染它,或者您可以创建Model对象。从 * 步骤8* 显示如何将检索到的数据存储在Django默认数据库sqlite中。代码在details.html
{% block content %} <h1>Book List</h1> <ul> {% for prd in product %} <li>{{ prd.product_name }} : Price = {{ prd.price}}</a></li> {% endfor %} </ul> {% endblock %}
结果:以下是页面中显示的结果。
第八步:
这里的步骤存储检索到的数据在默认数据库创建模型在model.pywww.example.com中的代码models.py
from django.db import models # Create your models here. class Product(models.Model): product_name = models.CharField(max_length=200) price = models.IntegerField(default=0)
**第九步:**再次知道运行python迁移命令
这将创建一个名为www.example.com的迁移文件0001.py,如图所示。
然后运行sql migrate命令,提供如下名称,此命令在默认数据库中创建所需的表。
python .\manage.py sqlmigrate myapp 0001
**第十步:**知道获取数据并使用它创建模型对象。代码在views.py
from django.shortcuts import render from .models import Product from databricks import sql def get(request): connection = sql.connect( server_hostname=host, http_path=http_path, access_token=access_token) cursor = connection.cursor() cursor.execute('SELECT * FROM `products`') result = cursor.fetchall() for row in result: dictRow = row.asDict() dataTosave = Product(product_name = dictRow['product_name'],price = dictRow['price']) dataTosave.save() cursor.close() connection.close() productDT = Product.objects.all() return render(request,'details.html',{product: productDT })
但请确保在创建对象时在增量表和模型字段中使用适当的列名。同样,你也可以执行CRUD操作。下面的文档将帮助你。https://learn.microsoft.com/en-us/azure/databricks/dev-tools/python-sql-connector
1条答案
按热度按时间ilmyapht1#
您尝试使用databricks-sql-connector是正确的,但您对www.example.com中的数据库详细信息感到困惑settings.py,在那里您无法添加databricks集群数据库。根据文档,以下是支持
可以在Django中使用的数据库。(https://docs.djangoproject.com/en/4.1/ref/databases/)
1.甲骨文
这里的想法是使用DataBricks-SQL-Connector从增量表中获取数据并处理这些数据
根据你的申请。
下面是要遵循的步骤,
**第一步:**在您的Django python环境中安装python包
https://pypi.org/project/databricks-sql-connector/
pip安装数据库ricks-sql连接器
**第二步:**www.example.com中的配置setting.py,默认数据库保持不变。
步骤3:运行python迁移。
步骤4:在databricks集群中创建增量表
上面是创建表的代码。在这里你可以看到列名类似于models.py中创建的模型字段。
**第五步:**插入数据到表中
第六步:
从databricks集群中获取主机、http_path和访问令牌。
您可以在集群〉配置〉高级选项〉JDBC/ODBC下找到您的主机和http路径
对于访问令牌,您需要创建一个。转到数据块菜单右侧的下拉菜单〉用户设置〉生成新令牌。
第七步:
知道创建一个视图来获取上面的数据。这里是一个读操作的例子
获取数据后,您可以在模板中渲染它,或者您可以创建Model对象。从 * 步骤8* 显示如何将检索到的数据存储在Django默认数据库sqlite中。
代码在details.html
结果:以下是页面中显示的结果。
第八步:
这里的步骤存储检索到的数据在默认数据库创建模型在model.py
www.example.com中的代码models.py
**第九步:**再次知道运行python迁移命令
这将创建一个名为www.example.com的迁移文件0001.py,如图所示。
然后运行sql migrate命令,提供如下名称,此命令在默认数据库中创建所需的表。
**第十步:**知道获取数据并使用它创建模型对象。代码在views.py
但请确保在创建对象时在增量表和模型字段中使用适当的列名。
同样,你也可以执行CRUD操作。下面的文档将帮助你。
https://learn.microsoft.com/en-us/azure/databricks/dev-tools/python-sql-connector