Open CarlaFernandez opened 1 year ago
Be able to execute the covid_analysis_etl_integ workflow from this tutorial in an existing cluster in interactive mode.
covid_analysis_etl_integ
I get the following stack trace:
[dbx][2022-09-27 08:53:35.009] ๐ Deployment file is not provided, searching in the conf directory [dbx][2022-09-27 08:53:35.014] ๐ก Auto-discovery found deployment file conf\deployment.yml [dbx][2022-09-27 08:53:35.015] ๐ Deployment file conf\deployment.yml exists and will be used for deployment [dbx][2022-09-27 08:53:35.018] Legacy environment format is used in project file. Please take a look at the docs and upgrade to the new format version. [dbx][2022-09-27 08:53:35.021] Using profile provided from the project file [dbx][2022-09-27 08:53:35.023] Found auth config from provider ProfileEnvConfigProvider, verifying it [dbx][2022-09-27 08:53:35.024] Found auth config from provider ProfileEnvConfigProvider, verification successful [dbx][2022-09-27 08:53:35.026] Profile DEFAULT will be used for deployment [dbx][2022-09-27 08:53:36.502] Executing job: covid_analysis_etl_integ in environment default on cluster my_cluster_name (id: correctly-identified-id) [dbx][2022-09-27 08:53:36.508] No build logic defined in the deployment file. Default pip-based build logic will be used. [dbx][2022-09-27 08:53:36.509] Following the provided build logic [dbx][2022-09-27 08:53:36.511] ๐ Building a Python-based project [dbx][2022-09-27 08:53:36.513] ๐งน Standard package folder dist already exists, cleaning it before Python package build [dbx][2022-09-27 08:53:39.191] โ Python-based project build finished [dbx][2022-09-27 08:53:39.193] Preparing interactive cluster to accept jobs [dbx][2022-09-27 08:53:39.295] Preparing execution context โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Traceback (most recent call last) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ C:\Users\carlafernandez\miniconda3\envs\prueba_dbx\lib\site-packages\dbx\commands\execute.py:134 โ โ in execute โ โ โ โ 131 โ dbx_echo("Preparing interactive cluster to accept jobs") โ โ 132 โ controller.awake_cluster(cluster_id) โ โ 133 โ โ โ โฑ 134 โ context_client = RichExecutionContextClient(api_client, cluster_id) โ โ 135 โ โ โ 136 โ controller_instance = ExecutionController( โ โ 137 โ โ client=context_client, โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ _job = 'covid_analysis_etl_integ' โ โ โ โ _payload = { โ โ โ โ โ 'name': 'covid_analysis_etl_integ', โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ 'python_file': 'file://jobs/covid_trends_job.py' โ โ โ โ โ } โ โ โ โ } โ โ โ โ api_client = <databricks_cli.sdk.api_client.ApiClient object at โ โ โ โ 0x0000024E95F70AC0> โ โ โ โ cluster_id = '0606-205319-pcu6ddt9' โ โ โ โ cluster_name = 'paa-sls-datalab-proveedoresanalitica' โ โ โ โ config = DeploymentConfig( โ โ โ โ โ environments=[ โ โ โ โ โ โ EnvironmentDeploymentInfo( โ โ โ โ โ โ โ name='default', โ โ โ โ โ โ โ payload=Deployment( โ โ โ โ โ โ โ โ workflows=[ โ โ โ โ โ โ โ โ โ { โ โ โ โ โ โ โ โ โ โ 'name': 'covid_analysis_etl_integ', โ โ โ โ โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ โ โ โ โ 'python_file': โ โ โ โ 'file://jobs/covid_trends_job.py' โ โ โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ โ โ { โ โ โ โ โ โ โ โ โ โ 'name': 'covid_analysis_etl_prod', โ โ โ โ โ โ โ โ โ โ 'new_cluster': { โ โ โ โ โ โ โ โ โ โ โ 'spark_version': โ โ โ โ '9.1.x-cpu-ml-scala2.12', โ โ โ โ โ โ โ โ โ โ โ 'num_workers': 1, โ โ โ โ โ โ โ โ โ โ โ 'node_type_id': 'Standard_DS4_v2' โ โ โ โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ โ โ โ โ 'python_file': โ โ โ โ 'file://jobs/covid_trends_job.py', โ โ โ โ โ โ โ โ โ โ โ 'parameters': ['--prod'] โ โ โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ โ โ { โ โ โ โ โ โ โ โ โ โ 'name': 'covid_analysis_etl_raw', โ โ โ โ โ โ โ โ โ โ 'new_cluster': { โ โ โ โ โ โ โ โ โ โ โ 'spark_version': โ โ โ โ '9.1.x-cpu-ml-scala2.12', โ โ โ โ โ โ โ โ โ โ โ 'num_workers': 1, โ โ โ โ โ โ โ โ โ โ โ 'node_type_id': 'Standard_DS4_v2' โ โ โ โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ โ โ โ โ 'python_file': โ โ โ โ 'file://jobs/covid_trends_job_raw.py' โ โ โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ โ ] โ โ โ โ โ โ โ ) โ โ โ โ โ โ ) โ โ โ โ โ ], โ โ โ โ โ build=BuildConfiguration( โ โ โ โ โ โ no_build=False, โ โ โ โ โ โ commands=[], โ โ โ โ โ โ python=<PythonBuild.pip: 'pip'> โ โ โ โ โ ) โ โ โ โ ) โ โ โ โ config_reader = <dbx.api.config_reader.ConfigReader object at 0x0000024E9625AD70> โ โ โ โ controller = <dbx.api.cluster.ClusterController object at 0x0000024E95F31CF0> โ โ โ โ debug = None โ โ โ โ deployment = EnvironmentDeploymentInfo( โ โ โ โ โ name='default', โ โ โ โ โ payload=Deployment( โ โ โ โ โ โ workflows=[ โ โ โ โ โ โ โ { โ โ โ โ โ โ โ โ 'name': 'covid_analysis_etl_integ', โ โ โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ โ โ 'python_file': 'file://jobs/covid_trends_job.py' โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ { โ โ โ โ โ โ โ โ 'name': 'covid_analysis_etl_prod', โ โ โ โ โ โ โ โ 'new_cluster': { โ โ โ โ โ โ โ โ โ 'spark_version': '9.1.x-cpu-ml-scala2.12', โ โ โ โ โ โ โ โ โ 'num_workers': 1, โ โ โ โ โ โ โ โ โ 'node_type_id': 'Standard_DS4_v2' โ โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ โ โ 'python_file': 'file://jobs/covid_trends_job.py', โ โ โ โ โ โ โ โ โ 'parameters': ['--prod'] โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ { โ โ โ โ โ โ โ โ 'name': 'covid_analysis_etl_raw', โ โ โ โ โ โ โ โ 'new_cluster': { โ โ โ โ โ โ โ โ โ 'spark_version': '9.1.x-cpu-ml-scala2.12', โ โ โ โ โ โ โ โ โ 'num_workers': 1, โ โ โ โ โ โ โ โ โ 'node_type_id': 'Standard_DS4_v2' โ โ โ โ โ โ โ โ }, โ โ โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ โ โ 'python_file': โ โ โ โ 'file://jobs/covid_trends_job_raw.py' โ โ โ โ โ โ โ โ } โ โ โ โ โ โ โ } โ โ โ โ โ โ ] โ โ โ โ โ ) โ โ โ โ ) โ โ โ โ deployment_file = WindowsPath('conf/deployment.yml') โ โ โ โ environment = 'default' โ โ โ โ found_jobs = [ โ โ โ โ โ { โ โ โ โ โ โ 'name': 'covid_analysis_etl_integ', โ โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ โ 'python_file': 'file://jobs/covid_trends_job.py' โ โ โ โ โ โ } โ โ โ โ โ } โ โ โ โ ] โ โ โ โ jinja_variables_file = None โ โ โ โ job = None โ โ โ โ job_payload = { โ โ โ โ โ 'name': 'covid_analysis_etl_integ', โ โ โ โ โ 'spark_python_task': { โ โ โ โ โ โ 'python_file': 'file://jobs/covid_trends_job.py' โ โ โ โ โ } โ โ โ โ } โ โ โ โ no_package = False โ โ โ โ no_rebuild = False โ โ โ โ parameters = None โ โ โ โ pip_install_extras = None โ โ โ โ requirements_file = WindowsPath('requirements.txt') โ โ โ โ task = Task( โ โ โ โ โ spark_python_task=SparkPythonTask( โ โ โ โ โ โ python_file=WindowsPath('jobs/covid_trends_job.py'), โ โ โ โ โ โ parameters=[] โ โ โ โ โ ), โ โ โ โ โ python_wheel_task=None, โ โ โ โ โ task_type=<TaskType.spark_python_task: 'spark_python_task'> โ โ โ โ ) โ โ โ โ upload_via_context = False โ โ โ โ workflow = 'covid_analysis_etl_integ' โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ C:\Users\carlafernandez\miniconda3\envs\prueba_dbx\lib\site-packages\dbx\api\context.py:121 in โ โ __init__ โ โ โ โ 118 โ โ 119 class RichExecutionContextClient: โ โ 120 โ def __init__(self, v2_client: ApiClient, cluster_id: str, language: str = "python") โ โ โฑ 121 โ โ self._client = LowLevelExecutionContextClient(v2_client, cluster_id, language) โ โ 122 โ โ โ 123 โ def install_package(self, package_file: str, pip_install_extras: Optional[str]): โ โ 124 โ โ if pip_install_extras: โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ cluster_id = '0606-205319-pcu6ddt9' โ โ โ โ language = 'python' โ โ โ โ self = <dbx.api.context.RichExecutionContextClient object at 0x0000024E9625B7C0> โ โ โ โ v2_client = <databricks_cli.sdk.api_client.ApiClient object at 0x0000024E95F70AC0> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ C:\Users\carlafernandez\miniconda3\envs\prueba_dbx\lib\site-packages\dbx\api\context.py:34 in โ โ __init__ โ โ โ โ 31 โ def __init__(self, v2_client: ApiClient, cluster_id: str, language: str = "python"): โ โ 32 โ โ self._v1_client = ApiV1Client(v2_client) โ โ 33 โ โ self._cluster_id = cluster_id โ โ โฑ 34 โ โ self._context_id = self.__get_context_id(language) โ โ 35 โ โ โ 36 โ def _wait_for_command_execution(self, command_id: str): โ โ 37 โ โ finished = False โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ cluster_id = '0606-205319-pcu6ddt9' โ โ โ โ language = 'python' โ โ โ โ self = <dbx.api.context.LowLevelExecutionContextClient object at 0x0000024E9625A890> โ โ โ โ v2_client = <databricks_cli.sdk.api_client.ApiClient object at 0x0000024E95F70AC0> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ C:\Users\carlafernandez\miniconda3\envs\prueba_dbx\lib\site-packages\dbx\api\context.py:96 in โ โ __get_context_id โ โ โ โ 93 โ โ โ 94 โ def __get_context_id(self, language: str) -> str: โ โ 95 โ โ dbx_echo("Preparing execution context") โ โ โฑ 96 โ โ ctx = LocalContextManager.get_context() โ โ 97 โ โ โ โ 98 โ โ if ctx and self.__is_context_available(ctx.context_id): โ โ 99 โ โ โ dbx_echo("Existing context is active, using it") โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ language = 'python' โ โ โ โ self = <dbx.api.context.LowLevelExecutionContextClient object at 0x0000024E9625A890> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ C:\Users\carlafernandez\miniconda3\envs\prueba_dbx\lib\site-packages\dbx\api\context.py:25 in โ โ get_context โ โ โ โ 22 โ @classmethod โ โ 23 โ def get_context(cls) -> Optional[ContextInfo]: โ โ 24 โ โ if cls.context_file_path.exists(): โ โ โฑ 25 โ โ โ return ContextInfo(**JsonUtils.read(cls.context_file_path)) โ โ 26 โ โ else: โ โ 27 โ โ โ return None โ โ 28 โ โ โ โ โญโโโโโโโโโโโโโโโโโโโโโโ locals โโโโโโโโโโโโโโโโโโโโโโโโฎ โ โ โ cls = <class 'dbx.api.context.LocalContextManager'> โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ โ โ C:\Users\carlafernandez\Documents\Projects\my_projects\ide-best-practices\pydantic\main.py:342 โ โ in pydantic.main.BaseModel.__init__ โ โ โ โ [Errno 2] No such file or directory: โ โ 'C:\\Users\\carlafernandez\\Documents\\Projects\\my_projects\\ide-best-practices\\pydantic\\main โ โ .py' โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ ValidationError: 1 validation error for ContextInfo context_id field required (type=value_error.missing)
dbx execute --cluster-name <cluster-name> covid_analysis_etl_integ
N/A
hi @CarlaFernandez could you please check with the latest version of dbx?
dbx
Expected Behavior
Be able to execute the
covid_analysis_etl_integ
workflow from this tutorial in an existing cluster in interactive mode.Current Behavior
I get the following stack trace:
Steps to Reproduce (for bugs)
dbx execute --cluster-name <cluster-name> covid_analysis_etl_integ
using an existing cluster of yours.Context
N/A
Your Environment