def METHOD_NAME(setup):
    n_rows = 1000
    n_columns = 10
    rs = np.random.RandomState(0)
    X = rs.rand(n_rows, n_columns)
    y = (rs.rand(n_rows) > 0.5).astype(np.int32)
    df = pd.DataFrame(X, columns=[f"c{i}" for i in range(n_columns)])
    # test with existing model
    classifier = lightgbm.LGBMClassifier(n_estimators=2)
    classifier.fit(X, y, verbose=True)
    with tempfile.TemporaryDirectory() as d:
        result_dir = os.path.join(d, "result")
        os.mkdir(result_dir)
        data_dir = os.path.join(d, "data")
        os.mkdir(data_dir)
        df.iloc[:500].to_parquet(os.path.join(d, "data", "data1.parquet"))
        df.iloc[500:].to_parquet(os.path.join(d, "data", "data2.parquet"))
        df = md.read_parquet(data_dir)
        model = LGBMClassifier()
        model.load_model(classifier)
        result = model.predict(df, run=False)
        r = md.DataFrame(result).to_parquet(result_dir)
        r.execute()
        ret = md.read_parquet(result_dir).to_pandas().iloc[:, 0].to_numpy()
        expected = classifier.predict(X)
        expected = np.stack([1 - expected, expected]).argmax(axis=0)
        np.testing.assert_array_equal(ret, expected)