Nike-Inc / brickflow

Pythonic Programming Framework to orchestrate jobs in Databricks Workflow
https://engineering.nike.com/brickflow/
Apache License 2.0
183 stars 36 forks source link

[BUG] Throw and error and resolution instrcutions when `tableauserverclient` is not installed #103

Closed maxim-mityutko closed 5 months ago

maxim-mityutko commented 5 months ago

Describe the bug Currently when plugins are enabled, all the dependencies that are required by those plugins should be installed on the cluster. The general approach is to force those dependencies in: https://github.com/Nike-Inc/brickflow/blob/6ba515b9eb291195089fd54ea701cfcb0cd97838/brickflow/engine/task.py#L823-L825 However I believe that end users should have freedom in choosing library version, hence instead of forcing specific tableauserverclient version, it's better to throw an error with an explanation on how to resolve it.

To Reproduce Enable plugins, do not install tableauserverclient on the cluster.

Expected behavior Throw an error with detailed description on how to install tableauserverclient on the cluster during runtime.

Screenshots If applicable, add screenshots to help explain your problem.

Cloud Information

Desktop (please complete the following information):

Additional context Add any other context about the problem here.