В Databricks проверьте, существует ли путь или нет - PullRequest
0 голосов
/ 30 октября 2018

Я читаю файлы CSV из хранилища данных, для этого у меня есть несколько путей, но если какой-либо один путь не существует, это дает исключение. Я хочу избежать этого ожидания.

1 Ответ

0 голосов
/ 01 ноября 2018

Я думаю, что если вы хотите проверить наличие нескольких путей, проверка не будет выполнена, если один путь не существует. Возможно, вы могли бы попробовать другой подход.

Для данного примера, если вы хотите выбрать подпапки, вы можете попробовать следующее:

Чтение подкаталогов данного каталога:

# list all subfolders and files in directory demo
dir = dbutils.fs.ls ("/mnt/adls2/demo")

Отфильтровать соответствующие подкаталоги:

pathes = ''

for i in range (0, len(dir)):
  subpath = dir[i].path
  if '/corr' in subpath or '/deci' in subpath and subpath.startswith ('dbfs:/'): # select dirs to read 
    pathes =  pathes + (dir[i].path) + ' '  

# convert the string to a list 
pathes = list(pathes.split())

Используйте список результатов для чтения кадра данных:

df = (spark.read
  .json(pathes))
...