Open pushpender-db opened 3 weeks ago
reason: it depends on which version of lightgbm AutoML use. it is currently 4.2.0, but default in notebook, it's 3.3.4
quick fix: change library version of lightgbm to 4.2.0 in "./01-Data-ingestion/01.2-DLT-Wind-Turbine-SQL-UDF"
proposal: change to install libraries using mlflow experiments artifact.
lakehouse-iot-platform DLT pipeline is failing in task "turbine_current_status" with error 'Booster' object has no attribute 'handle' Here is complete stacktrace
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 566.0 failed 4 times, most recent failure: Lost task 0.3 in stage 566.0 (TID 1176) (10.224.4.249 executor 0): org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 2113, in udf if scoring_server_proc is not None: File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 1900, in _predict_row_batch result = predict_fn(pdf, params) ^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 2093, in batch_predict_fn return loaded_model.predict(pdf, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 738, in predict return self._predict(data, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 771, in _predict return self._predict_fn(data, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/sklearn/init.py", line 534, in predict return self.sklearn_model.predict(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/sklearn/pipeline.py", line 458, in predict return self.steps[-1][1].predict(Xt, predict_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/sklearn.py", line 984, in predict result = self.predict_proba(X, raw_score, start_iteration, num_iteration, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/sklearn.py", line 997, in predict_proba result = super().predict(X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/sklearn.py", line 803, in predict return self._Booster.predict(X, raw_score=raw_score, start_iteration=start_iteration, num_iteration=num_iteration, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/basic.py", line 3532, in predict predictor = self._to_predictor(deepcopy(kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/basic.py", line 3622, in _to_predictor predictor = _InnerPredictor(booster_handle=self.handle, pred_parameter=pred_parameter) ^^^^^^^^^^^ AttributeError: 'Booster' object has no attribute 'handle'
Driver stacktrace: at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:3905) at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:3824) at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:3811) at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62) at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49) at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:3811) at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1(DAGScheduler.scala:1682) at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1$adapted(DAGScheduler.scala:1665) at scala.Option.foreach(Option.scala:407) at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:1665) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:4151) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:4063) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:4051) at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:55) org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 2113, in udf if scoring_server_proc is not None: File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 1900, in _predict_row_batch result = predict_fn(pdf, params) ^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 2093, in batch_predict_fn return loaded_model.predict(pdf, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 738, in predict return self._predict(data, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/pyfunc/init.py", line 771, in _predict return self._predict_fn(data, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/mlflow/sklearn/init.py", line 534, in predict return self.sklearn_model.predict(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/sklearn/pipeline.py", line 458, in predict return self.steps[-1][1].predict(Xt, predict_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/sklearn.py", line 984, in predict result = self.predict_proba(X, raw_score, start_iteration, num_iteration, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/sklearn.py", line 997, in predict_proba result = super().predict(X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/sklearn.py", line 803, in predict return self._Booster.predict(X, raw_score=raw_score, start_iteration=start_iteration, num_iteration=num_iteration, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/basic.py", line 3532, in predict predictor = self._to_predictor(deepcopy(kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-0ce49744-a8c5-4b98-af5f-fe1aa4ee5e82/lib/python3.11/site-packages/lightgbm/basic.py", line 3622, in _to_predictor predictor = _InnerPredictor(booster_handle=self.handle, pred_parameter=pred_parameter) ^^^^^^^^^^^ AttributeError: 'Booster' object has no attribute 'handle'