我的项目初始阶段因为不相熟DataBricks,创立的库和表的数据间接放在了DBFS中,然而在由测试环境迁徙到正式环境时有了问题---DBFS中的数据不能间接copy进去。最终应用代码copy一个库到blob存储,耗时长还易出错。所以在我的项目初期建表之间就应该将DataBricks间接挂载到Blob存储中。这样只是把表和库的构造放在DBFS中,数据就间接放在Blob,十分不便迁徙。

挂载脚本

#prddbutils.fs.mount(    # data_file blob容器名字 挂载blob的地位  source = "wasbs://data_file@databricksasprdsa.blob.core.chinacloudapi.cn",    #/mnt/data_warehouse DBFS门路  mount_point = "/mnt/data_warehouse",    #key:blob拜访密钥  extra_configs = {"fs.azure.account.key.databricksasprdsa.blob.core.chinacloudapi.cn":"key"})

示例:创立数据库及表

CREATE DATABASE stg; --创立数据库create table stg.stg_text (    indes stirng,    edw_created_on_dt timestamp,    edw_changed_on_dt timestamp,    edw_etl_insert_dt timestamp,    edw_etl_update_dt timestamp,    etl_insert_dt timestamp,    etl_update_dt timestamp)using deltalocation '/mnt/data_warehouse/az_kpi/stg.db/stg_text'; -- 构造存储地位