AWS部署Databricks演示CSV文件位置及path路径参数作用问询
解答
1. diamonds.csv的实际存储位置
你用到的/databricks-datasets路径前缀对应的是Databricks官方托管在自身AWS账户下的公共数据集存储桶,不属于你个人AWS账户的资源,所以你在自己的S3桶里找不到这个文件。
这个公共数据集桶对所有Databricks工作区默认开放只读权限,专门用于官方教程、演示场景的测试数据供给,不需要你额外配置权限就能直接访问,这也是你给出的SQL代码可以正常运行的原因。
2. 代码中path参数的工作规则
你给出的SQL代码里的path参数走的是Databricks统一文件系统(DBFS)的路径规则,具体逻辑如下:
- 不带存储协议前缀的绝对路径(如示例中的
/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv),默认会从DBFS根目录开始匹配资源 - DBFS是Databricks封装的虚拟文件系统层,底层默认挂载了多个存储源:
databricks-datasets就是默认挂载的官方公共存储源- 你自己AWS账户下的S3存储桶如果已经完成挂载配置,默认会放在
/mnt/路径下,你也可以直接写s3://<你的桶名>/<文件路径>的格式直接访问自有S3资源
- 如果path填写的是相对路径,会默认以你当前笔记本的工作目录为基准做路径拼接
你可以在Databricks笔记本中运行%fs ls /databricks-datasets命令,查看所有官方开放的公共测试数据集列表。
内容的提问来源于stack exchange,提问作者thotwielder
相关产品推荐
相关产品推荐

