如何在Azure Databricks中新建数据库和表并存储查询结果(含覆盖)
在Azure Databricks中动态创建库表并写入查询结果
以下是实现需求的完整步骤,直接在Notebook中运行即可:
1. 定义目标库表名称
先指定要创建的数据库和表名,方便后续统一修改:
target_database = "my_new_db" target_table = "my_new_table"
2. 清理已存在的库表
如果目标库或表已经存在,先彻底删除:
# 先删表(避免库删除失败) spark.sql(f"DROP TABLE IF EXISTS {target_database}.{target_table}") # 删除数据库及下属所有对象 spark.sql(f"DROP DATABASE IF EXISTS {target_database} CASCADE")
CASCADE参数会递归删除数据库内所有表和数据,确保完全清理旧资源
3. 创建新数据库
spark.sql(f"CREATE DATABASE {target_database}")
4. 执行查询并写入新表
先获取你的查询结果DataFrame,再写入到新建的表中(这里用Databricks推荐的Delta格式):
# 执行原始查询 df = spark.sql("""select * from tableName""") # 将数据写入目标表,overwrite模式作为双重保障 df.write.mode("overwrite") \ .format("delta") \ .saveAsTable(f"{target_database}.{target_table}")
验证数据写入
可以运行下面的代码确认数据是否成功写入:
# 查询新表前10条数据 spark.sql(f"SELECT * FROM {target_database}.{target_table} LIMIT 10").show()
内容的提问来源于stack exchange,提问作者SeleniumUser
相关产品推荐
相关产品推荐

