code: def test_bloom_filter(setup):
      rs = np.random.RandomState(0)
      raw1 = pd.DataFrame(
          {
              "col1": rs.randint(0, 100, size=(100,)),
              "col2": rs.random(100),
          }
      )
      raw2 = pd.DataFrame(
          {
              "col1": rs.randint(0, 10, size=(100,)),
              "col2": rs.random(100),
          }
      )
  
      df1 = from_pandas_df(raw1, chunk_size=10)
      df2 = from_pandas_df(raw2, chunk_size=20)
  
      filtered = filter_by_bloom_filter(df1, df2, "col1", "col1")
      r1, r2, filtered_r = mars.fetch(mars.execute(df1, df2, filtered))
      assert r1.shape[0] > filtered_r.shape[0]
      assert len(filtered_r[filtered_r["col1"] > 10]) < 10
  
      pd.testing.assert_frame_equal(r1, raw1)
      pd.testing.assert_frame_equal(r2, raw2)
      pd.testing.assert_frame_equal(
          filtered_r[filtered_r["col1"] <= 10], raw1[raw1["col1"] <= 10]
      )
  
imports: import random
  from collections import OrderedDict
  import numpy
  import pandas
  import pytest
  import mars
  from ....config import options, option_context
  from ....dataframe import DataFrame, Series
  from ....tensor import arange, tensor
  from ....tensor.random import rand
  from ....tests.core import require_cudf
  from ....utils import lazy_import, pd_release_version, no_default
  from ...None import eval, cut, qcut, get_dummies
  from ...core import DATAFRAME_OR_SERIES_TYPE
  from ...datasource.dataframe import from_pandas
  from ...datasource.series import from_pandas
  from ...datasource.index import from_pandas
  from ..None import to_gpu, to_cpu
  from ..bloom_filter import filter_by_bloom_filter
  from ..shift import _enable_no_default, _with_column_freq_bug
  from ..to_numeric import to_numeric
  from ..rebalance import DataFrameRebalance
label_desc: Use image node_id 45 for calling a global function with example usage: test_bloom_filter(setup) without return types