# Snowfalke DataSource: Add BatchDefinition based on some column "x" and a filter value

**URL:** <https://discourse.greatexpectations.io/t/snowfalke-datasource-add-batchdefinition-based-on-some-column-x-and-a-filter-value/2315>\
**Category:** GX Core Support\
**Created:** [November 18, 2025, 3:35pm UTC](https://discourse.greatexpectations.io/t/snowfalke-datasource-add-batchdefinition-based-on-some-column-x-and-a-filter-value/2315 "2025-11-18T15:35:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jhzab](https://avatars.discourse-cdn.com/v4/letter/j/6de8d8/32.png) [@jhzab](https://discourse.greatexpectations.io/u/jhzab)\
**Post date:** [November 18, 2025, 3:35pm UTC](https://discourse.greatexpectations.io/t/snowfalke-datasource-add-batchdefinition-based-on-some-column-x-and-a-filter-value/2315/1 "2025-11-18T15:35:48Z")

</div>

Hey,

we are currently evaluating GX for our data tests, but ran into the problem that we need to partition our table but can’t / do not know how.

We use “add\_or\_update\_snowflake” to have GX directly connected to the database and want to select specific batches of data based on a column. So basically a dynamic WHERE filter.

How is that possible? Do we have to create our own partitioner? Is there any documentation on how to do that?

We also check add\_query\_asset, but that will result in all of the data being loaded to the “local” machine, which is not what we want.

We also tried using a row\_condition in the expectations and ran into another problem:

```auto
validator.expect_column_values_to_not_be_null(
    "SOME_TEST_COLUMN",
    row_condition=(
        gx.expectations.row_conditions.Column("SOME_COLUMNE").is_in(["SOME_VALUE"])
    ),
)

```

TypeError: type=‘comparison’ column=Column(name=‘SOME\_COLUMN’) operator=‘IN’ parameter=[‘SOME\_VALUE’] is of type ComparisonCondition which cannot be serialized.
