我的项目初始阶段因为不相熟DataBricks,创立的库和表的数据间接放在了DBFS中,然而在由测试环境迁徙到正式环境时有了问题—DBFS中的数据不能间接copy进去。最终应用代码copy一个库到blob存储,耗时长还易出错。所以在我的项目初期建表之间就应该将DataBricks间接挂载到Blob存储中。这样只是把表和库的构造放在DBFS中,数据就间接放在Blob,十分不便迁徙。
挂载脚本
#prd
dbutils.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 delta
location '/mnt/data_warehouse/az_kpi/stg.db/stg_text'; -- 构造存储地位
发表回复