Especificación de la ruta de acceso de DBFS

Al trabajar con Azure Databricks a veces tendrá que acceder al sistema de archivos de Databricks (DBFS).

El acceso a los archivos en DBFS se realiza con comandos estándar del sistema de archivos; sin embargo, la sintaxis varía en función del lenguaje o la herramienta que se utilice.

Por ejemplo, tome la siguiente ruta de acceso de DBFS:

dbfs:/mnt/test_folder/test_folder1/

Spark de Apache

En Spark, debe especificar la ruta de acceso completa dentro del comando de lectura de Spark.

spark.read.parquet(“dbfs:/mnt/test_folder/test_folder1/file.parquet”)

DBUtils

Cuando se usa DBUtils,se debe usar la ruta de acceso completa de DBFS, al igual que en los comandos de Spark. El formato específico del lenguaje en torno a la ruta de acceso de DBFS difiere en función del idioma utilizado.

%fs
ls dbfs:/mnt/test_folder/test_folder1/
dbutils.fs.ls(‘dbfs:/mnt/test_folder/test_folder1/’)
dbutils.fs.ls(“dbfs:/mnt/test_folder/test_folder1/”)

Nota

No es dbfs: necesario especificar cuando se usan dbutils o comandos de Spark. La ruta dbfs:/mnt/test_folder/test_folder1/ de acceso es equivalente a /mnt/test_folder/test_folder1/ .

Comandos de shell

Los comandos de shell no reconocen la ruta de acceso DFBS. En su lugar, se accede a DBFS y a los archivos dentro de con la misma sintaxis que cualquier otra carpeta del sistema de archivos.

Bash

ls /dbfs/mnt/test_folder/test_folder1/
cat /dbfs/mnt/test_folder/test_folder1/file_name.txt

Python

import os
os.listdir('/dbfs/mnt/test_folder/test_folder1/’)

Scala

import java.io.File
val directory = new File("/dbfs/mnt/test_folder/test_folder1/")
directory.listFiles