apache/beam · error · NotImplementedError
{op!r} is not implemented yet. If support for {op!r} is impo
Error message
{op!r} is not implemented yet. If support for {op!r} is important to you, please let the Beam community know by writing to user@beam.apache.org (see https://beam.apache.org/community/contact-us/) or commenting on {issue_url} What it means
The frame_base.not_implemented/op decorator installs a stub that raises NotImplementedError with guidance to contact the Beam community or comment/vote on the associated tracking issue (BEAM-xxxxx Jira or GitHub issue). It means the pandas method exists in the API surface but has no Beam implementation yet.
Source
Thrown at sdks/python/apache_beam/dataframe/frame_base.py:424
f":meth:`{_prettify_pandas_type(base_type)}.{name}` is not yet supported "
f"in the Beam DataFrame API {reason_data['explanation']}")
if 'url' in reason_data:
wrapper.__doc__ += f"\n\n For more information see {reason_data['url']}."
return wrapper
def not_implemented_method(op, issue='20318', base_type=None):
"""Generate a stub method for ``op`` that simply raises a NotImplementedError.
For internal use only. No backwards compatibility guarantees."""
assert base_type is not None, "base_type must be specified"
issue_url = f"https://issues.apache.org/jira/{issue}." if issue.startswith(
"BEAM-") else f"https://github.com/apache/beam/issues/{issue}"
def wrapper(*args, **kwargs):
raise NotImplementedError(
f"{op!r} is not implemented yet. "
f"If support for {op!r} is important to you, please let the Beam "
"community know by writing to user@beam.apache.org "
"(see https://beam.apache.org/community/contact-us/) or commenting on "
f"{issue_url}")
wrapper.__name__ = op
wrapper.__doc__ = (
f":meth:`{_prettify_pandas_type(base_type)}.{op}` is not implemented yet "
"in the Beam DataFrame API.\n\n"
f"If support for {op!r} is important to you, please let the Beam "
"community know by `writing to user@beam.apache.org "
"<https://beam.apache.org/community/contact-us/>`_ or commenting on "
f"`{issue} <{issue_url}>`_.")
return wrapper
View on GitHub (pinned to 12126d8942)
Solutions
- Implement the equivalent logic with supported dataframe operations or native Beam transforms (map, GroupBy, beam.CombinePerKey).
- Materialize to concrete pandas via to_pcollection + pandas and run the method locally.
- Track/vote on the issue URL given in the message and upgrade Beam when support lands.
- Contribute an implementation upstream if the operation maps to an existing Beam PTransform.
Example fix
// before
result = df.rolling('2s').mean()
// after
# materialize then use pandas, or approximate with Beam windowing:
result = (pcoll | beam.WindowInto(beam.window.Sessions(2))
| beam.CombinePerKey(beam.combiners.MeanCombineFn())) Defensive patterns
Strategy: try-catch
Validate before calling
NOT_IMPLEMENTED_OPS = {'resample', 'ewm', 'plot'}
if op_name in NOT_IMPLEMENTED_OPS:
use_beam_transform_fallback(op_name) Try / catch
try:
result = df.resample('1D').mean()
except NotImplementedError:
result = (pcoll | beam.WindowInto(beam.window.FixedWindows(86400))
| beam.CombinePerKey(beam.combiners.MeanCombineFn())) Prevention
- Read the NotImplementedError message: it names the tracking issue and expected support timeline.
- Prototype the full dataframe pipeline early to enumerate unsupported methods.
- Have a native-Beam fallback plan for each pandas method your port relies on.
When it happens
Trigger: Calling any pandas method registered via the not_implemented(op, issue=...) decorator, e.g. certain resample, rolling, or plotting methods, each carrying its tracking issue URL in the message.
Common situations: Using newer pandas surface area not yet ported to Beam; following pandas tutorials verbatim; encountering methods whose implementation is in progress on the referenced Jira/GitHub issue.
Related errors
- %s=%s not supported for %s
- '{name}' is not yet supported {reason_data['explanation']}
- Unable to convert objects of type %s to a PCollection
- Expression roots must have been created with to_dataframe.
- {reason}\nConsider using an allow_non_parallel_operations bl
AI-assisted analysis of apache/beam@12126d8942 (2026-09-13).
Data as JSON: /api/errors/6d0e5035d141b26e.
Report an issue: GitHub.