apache/beam · warning
Snowflake transforms moved to apache_beam.io.snowflake
Error message
Snowflake transforms moved to apache_beam.io.snowflake
What it means
Importing apache_beam.io.external.snowflake emits a DeprecationWarning because the Snowflake transforms (ReadFromSnowflake, WriteToSnowflake, CreateDisposition, WriteDisposition) were moved to apache_beam.io.snowflake. The old module is a re-export shim kept only for backward compatibility.
Solutions
- Change imports to `from apache_beam.io.snowflake import ReadFromSnowflake` etc.
- Search the codebase for 'io.external.snowflake' and update all occurrences.
- Re-run the pipeline to confirm no further deprecation warnings.
Example fix
// before from apache_beam.io.external.snowflake import ReadFromSnowflake // after from apache_beam.io.snowflake import ReadFromSnowflake
Defensive patterns
Strategy: validation
Validate before calling
import warnings
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter('always')
import apache_beam.io.external.snowflake # noqa
if any('moved to apache_beam.io.snowflake' in str(x.message) for x in w):
raise ImportError('Use apache_beam.io.snowflake instead') Prevention
- Import Snowflake transforms only from apache_beam.io.snowflake.
- Run CI with -W error::DeprecationWarning.
- Grep for 'io.external.snowflake' in code reviews.
When it happens
Trigger: Any execution of `from apache_beam.io.external.snowflake import ReadFromSnowflake` (or WriteToSnowflake/CreateDisposition/WriteDisposition) at import time.
Common situations: Legacy pipeline code referencing the old external io path; upgrading Beam or following outdated Snowflake connector docs.
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
- chunk_to_dict_fn is deprecated, use embeddable_to_dict_fn
- Create disposition has to be one of the following…
- Dicom Client moved to…
- Dicom IO moved to apache_beam.io.gcp.healthcare.dicomcio
- Kafka transforms moved to apache_beam.io.kafka
AI-assisted analysis of apache/beam@12126d8942 (2026-09-13).
Data as JSON: /api/errors/99456f3a07b7b022.
Report an issue: GitHub.
Appendix: source
Thrown at sdks/python/apache_beam/io/external/snowflake.py:30
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# For backwards compatibility.
# pytype: skip-file
import warnings
# pylint: disable=unused-import
from apache_beam.io.snowflake import CreateDisposition
from apache_beam.io.snowflake import ReadFromSnowflake
from apache_beam.io.snowflake import WriteDisposition
from apache_beam.io.snowflake import WriteToSnowflake
warnings.warn(
"Snowflake transforms moved to apache_beam.io.snowflake",
DeprecationWarning)
View on GitHub (pinned to 12126d8942)