Como especificar o caminho do DBFS

Ao trabalhar com a Azure Databricks, por vezes terá de aceder ao Sistema de Ficheiros Databricks (DBFS).

O acesso aos ficheiros em DBFS é feito com comandos padrão do sistema de ficheiros, no entanto a sintaxe varia consoante o idioma ou ferramenta utilizado.

Por exemplo, tome o seguinte caminho DBFS:

dbfs:/mnt/test_folder/test_folder1/

Apache Spark

Sob o comando Spark, deve especificar o caminho completo dentro do comando de leitura spark.

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

DBUtils

Quando estiver a utilizar DBUtils,deve ser utilizado todo o caminho DBFS, tal como nos comandos Spark. A formatação específica do idioma em torno do caminho DBFS difere dependendo da linguagem utilizada.

%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

Não é necessário especificar dbfs: quando se utilizam comandos DBUtils ou Spark. O caminho dbfs:/mnt/test_folder/test_folder1/ é equivalente /mnt/test_folder/test_folder1/ a.

Comandos de concha

Os comandos de concha não reconhecem o caminho DFBS. Em vez disso, o DBFS e os ficheiros no seu interior são acedidos com a mesma sintaxe que qualquer outra pasta no sistema de ficheiros.

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