Skip to content

Instantly share code, notes, and snippets.

@JerryNixon
Last active November 4, 2021 19:31
Show Gist options
  • Select an option

  • Save JerryNixon/79fa5bff8bc96d1a42684e53fa15782c to your computer and use it in GitHub Desktop.

Select an option

Save JerryNixon/79fa5bff8bc96d1a42684e53fa15782c to your computer and use it in GitHub Desktop.
Snoop all the delta tables in your data lake
# Databricks notebook source
# COMMAND ----------
%py
def recurse(path: str) -> [str]:
def is_delta_path_valid(path: str) -> bool:
try:
return [] != [x for x in dbutils.fs.ls(path) if x.isDir() and x.name == "_delta_log/"]
except:
return False
def sub_folders(path: str) -> [str]:
try:
return [x for x in dbutils.fs.ls(path) if x.isDir()]
except:
return []
def get_folders(path: str) -> ([str], [str]):
try:
subs = set([x.path for x in sub_folders(path)])
deltas = set([x for x in subs if is_delta_path_valid(x)])
return list(subs - deltas), list(deltas)
except:
return None, None
subs, deltas = get_folders(path)
for sub in subs:
deltas.extend(recurse(sub))
return list(deltas)
path = 'abfss://yourdatalake@yourdatalake.dfs.core.windows.net/'
deltas = recurse(path)
for delta in deltas:
print(delta)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment