code: def test_search(spark_session):
      sc = spark_session.sparkContext
  
      # sklearn variables
      Cs = [0.001, 0.01, 0.1, 1.0, 10.0, 100.0]
      cv = 5
      test_size = 0.2
      scoring = "roc_auc"
      solver = "liblinear"
  
      # load sample data (binary target)
      data = load_breast_cancer()
      X = data["data"]
      y = data["target"]
      X_train, X_test, y_train, y_test = train_test_split(
          X, y, test_size=test_size, random_state=10
      )
  
      ### distributed grid search
      model = DistGridSearchCV(
          LogisticRegression(solver=solver),
          dict(C=Cs),
          sc,
          cv=cv,
          scoring=scoring,
      )
      # distributed fitting with spark
      model.fit(X_train, y_train)
      # predictions on the driver
      preds = model.predict(X_test)
  
      assert preds.shape == y_test.shape
  
file_path: sk-dist/skdist/tests/test_spark.py
imports: import pytest
  import sys
  import pandas
  import numpy
  from sklearn.datasets import load_breast_cancer, load_digits
  from sklearn.model_selection import train_test_split
  from sklearn.linear_model import LogisticRegression
  from skdist.distribute.multiclass import DistOneVsRestClassifier
  from skdist.distribute.search import DistGridSearchCV, DistRandomizedSearchCV
  from skdist.distribute.ensemble import DistRandomForestClassifier
  from skdist.distribute.predict import get_prediction_udf
label_desc: Use image node_id 4 for calling a global function with example usage: test_search(spark_session) without return types