apache-spark-sql - 如何在 azure databricks 中重命名数据库?
问题描述
我正在尝试重命名 azure databricks 中的数据库,但出现以下错误:
在输入“ALTER DATABASE 库存”时没有可行的替代方案
下面是代码:
%sql
use inventory;
ALTER DATABASE inventory MODIFY NAME = new_inventory;
请解释这个错误“在输入 'ALTER DATABASE 库存时没有可行的替代方案”是什么意思,我该如何解决它
解决方案
无法在 Databricks 上重命名数据库。如果你去文档,那么你会看到你只能设置DBPROPERTIES
。
如果你真的需要重命名数据库,那么你有两个选择:
- 如果您有非托管表(不是通过
saveAsTable
等创建的),那么您可以使用SHOW CREATE TABLE生成 SQL ,删除您的数据库(无论如何要小心),然后从保存的 SQL 重新创建所有表 - 如果您有托管表,那么解决方案是创建新数据库,然后使用CLONE(仅适用于 Delta 表)或
CREATE TABLE ... AS SELECT
其他文件类型,然后删除您的数据库
推荐阅读
- excel - 从 excel 列表中获取电子邮件,然后编辑主题并将更新的邮件项目保存为 pdf
- javascript - 为什么我的 Accordion 关闭动画没有触发?它打开(有动画)但没有动画关闭
- node.js - REST API - 排除/包括软删除的项目
- sql - 日期格式:获取月份的最后一天和第一天-sql-DB2
- javascript - process.on('uncaughtException') 没有捕获 ECONNRESET
- css - 为什么 stylelint 会忽略 ignoreFiles 配置中的 js 文件?
- templates - Rsyslog 修剪超过 48 个字符的应用程序名称
- html - 编辑输入框时调用javascript函数而不等待tab键按下
- php - Ajax 数据表错误:表中没有可用数据
- angular - 如何在我的角度文件中更漂亮地使用单引号