apache/beam · warning

Native sources no longer implemented; falling back to…

Error message

Native sources no longer implemented; falling back to standard Beam source.

What it means

The legacy BigQuerySource helper function warns that Dataflow native BigQuery sources are no longer implemented and the pipeline falls back to the standard Beam source. It still returns a working ReadFromBigQuery transform, but `use_dataflow_native_source=True` has no effect.

Solutions

  1. Remove `use_dataflow_native_source=True` and use `ReadFromBigQuery` directly.
  2. Update test code to target ReadFromBigQuery instead of the legacy helper.
  3. Suppress the warning only if the fallback is accepted: `warnings.filterwarnings('ignore', message='Native sources no longer implemented')`.

Example fix

// before
src = BigQuerySource(table='t', use_dataflow_native_source=True)
// after
src = ReadFromBigQuery(table='t')
Defensive patterns

Strategy: validation

Validate before calling

if kwargs.get('use_dataflow_native_source'):
    raise ValueError('use_dataflow_native_source is ignored; use ReadFromBigQuery')

Prevention

When it happens

Trigger: Calling `BigQuerySource(..., use_dataflow_native_source=True)` in apache_beam.io.gcp.bigquery (e.g. tests or old pipeline code).

Common situations: Migrating old Dataflow pipelines that relied on the native BQ source; test code instantiating the legacy source helper directly.

Understand the failure class

Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.

Related errors


AI-assisted analysis of apache/beam@12126d8942 (2026-09-13). Data as JSON: /api/errors/5260a2a1e3a5b2a1. Report an issue: GitHub.

Appendix: source

Thrown at sdks/python/apache_beam/io/gcp/bigquery.py:664

# -----------------------------------------------------------------------------
# BigQuerySource, BigQuerySink.


@deprecated(since='2.25.0', current="ReadFromBigQuery")
def BigQuerySource(
    table=None,
    dataset=None,
    project=None,
    query=None,
    validate=False,
    coder=None,
    use_standard_sql=False,
    flatten_results=True,
    kms_key=None,
    use_dataflow_native_source=False):
  if use_dataflow_native_source:
    warnings.warn(
        "Native sources no longer implemented; "
        "falling back to standard Beam source.")
  return ReadFromBigQuery(
      table=table,
      dataset=dataset,
      project=project,
      query=query,
      validate=validate,
      coder=coder,
      use_standard_sql=use_standard_sql,
      flatten_results=flatten_results,
      use_json_exports=True,
      kms_key=kms_key)


@deprecated(since='2.25.0', current="ReadFromBigQuery")
def _BigQuerySource(*args, **kwargs):
  """A source based on a BigQuery table."""

View on GitHub (pinned to 12126d8942)