azure databricks 一般会建议把数据存入到“存储帐户”blob上
1、需要提前建立好databricks与blob之间的认证(可以让azure的技术支持配置好)
2、就可以正常使用,创建库表
3、建库分层与建表需要注意的细节
1、你新建库的时候你需要指定blob上的目录,要不然每次建库下面的表还是会在workspace内
2、删表的时候的时候也需要指定,我记得一开始使用的那个版本drop table 的时候blob上面的对应的文件依赖存在,需要指定删除目录才是彻底删除(现在可能不一样了)
4、语法如下
-- 创建 根据自己的需要修改库名 ,文件路径名--》LOCATION
CREATE DATABASE IF NOT EXISTS demo_database LOCATION 'dbfs:/demo/warehouse/demo_database'
-- 删除库
drop database demo_database
# 删除库表名所在的路径
dbutils.fs.rm('dbfs:/demo/warehouse/demo_database', True);
5、表删除是相似的我就不列出来了
6、表连续python脚本删除如下
# Option: Drop all of exist tables
# 不要乱改!!!!
databaseName_target ="demo_database"
sqlQueryShowTables = "SHOW TABLES FROM {0}".format(databaseName_target)
tablesDF = spark.sql(sqlQueryShowTables).collect()
display(tablesDF)
for row in tablesDF:
sqlDropTable = "DROP TABLE IF EXISTS {0}.{1}".format(row['database'], row['tableName'])
try:
spark.sql(sqlDropTable)
print("INFO: {0} completed.".format(sqlDropTable))
except Exception as e:
print("ERROR: Drop table {0} failed.".format(row["name"]))