I watched a couple of courses on Databricks Academy, none of which clearly explains or demonstrates the purpose of the USAGE privilege.
USAGE: does not give any abilities, but is an additional requirement to perform any action on a schema object.
I have many questions about this statement.
- By "any action", does it mean CREATE and DROP a schema? How about other actions for instance SHOW and DESCRIBE?
- By "on a schema object", does it mean I do not need USAGE if I am only to perform CREATE, DROP, and SELECT on table objects? Or do I still need it considering tables are under schemas?
- Similar to question 2, do I need USAGE if all operations will be on the catalog level?
- Lastly, why does Databricks have USAGE? It sounds to me just overcomplicates the hierarchy.