# apache-flink

Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Lyft Moves Streaming Fleet to Apache Flink Kubernetes Operator

DevFeed: [Lyft Moves Streaming Fleet to Apache Flink Kubernetes Operator](<https://devfeed.tech/articles/lyft-moves-streaming-fleet-to-apache-flink-kubernetes-operator-30910.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/lyft-flink-k8s-operator/>)

Author: Mark Silvester

Published: 2026-09-16T11:00:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [flink](<https://devfeed.tech/topics/flink.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [legacy](<https://devfeed.tech/topics/legacy.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [architecture-design](<https://devfeed.tech/tags/architecture-design.md>), [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [development](<https://devfeed.tech/tags/development.md>), [devops](<https://devfeed.tech/tags/devops.md>), [flink](<https://devfeed.tech/tags/flink.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-operator](<https://devfeed.tech/tags/kubernetes-operator.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [lyft-flink-k8s-operator](<https://devfeed.tech/tags/lyft-flink-k8s-operator.md>), [news](<https://devfeed.tech/tags/news.md>), [testing](<https://devfeed.tech/tags/testing.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

Lyft moved hundreds of production Apache Flink jobs from its in-house Kubernetes operator to the Apache Flink Kubernetes Operator. The change enabled last-state upgrades, in-place autoscaling, and resource autotuning, while Lyft adapted legacy deployment specifications through its deploy API and contributed a fix for a configuration-renaming bug.

### Source excerpt

Lyft has moved hundreds of production Flink jobs from a 2020 in-house Kubernetes operator to the Apache Flink Kubernetes Operator, unlocking last-state upgrades, in-place autoscaling and resource autotuning across the fleet. By Mark Silvester

## A Tale of Two Flink Autoscalers

DevFeed: [A Tale of Two Flink Autoscalers](<https://devfeed.tech/articles/a-tale-of-two-flink-autoscalers-134.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/a-tale-of-two-flink-autoscalers-e9f6a1b1492b?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-08-21T16:01:01Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [stream-processing](<https://devfeed.tech/topics/stream-processing.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [aws](<https://devfeed.tech/tags/aws.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [operational-excellence](<https://devfeed.tech/tags/operational-excellence.md>), [scale](<https://devfeed.tech/tags/scale.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>)

### AI overview

Netflix describes running two Apache Flink autoscalers: an older in-house system and a newer one from the Apache Flink community. The article explains why autoscaling is necessary for more than 30,000 Flink jobs across AWS regions, discusses workload variability and the cost of resizing stateful jobs, and introduces the metrics-driven design of the first autoscaler.

### Source excerpt

Samuel Yeboah, Francesco Di Chiara and Mingliang Liu Today, Netflix runs two Flink autoscalers. That is exactly one more than we want. We built the first one in-house years ago, when there was no mature option suited to our platform. The second came from the Apache Flink community, and it can scale workloads our homegrown system was never designed for. We now run both in production and are steadily converging on the open-source one. Along the way we learned some hard lessons about metrics, cost, and the real price of maintaining infrastructure you could instead adopt, and we hope they are useful whether you run a handful of Flink jobs or tens of thousands. Why autoscaling is not optional at our scale Netflix has run stream processing on Apache Flink since 2017. As of 2026 we operate more than 30,000 Flink jobs across multiple AWS regions. Most are not deployed by hand; they are generated by our managed platform Data Mesh, so the majority of users never touch a Flink job directly. A smaller but growing set are custom jobs, built and operated by teams across the company for use cases like personalization, Ads, and Live events. They range from single-operator jobs that shuttle records between Kafka topics to stateful pipelines with branches, joins, and terabytes of state, and their load swings with daily cycles, launches, and regional failovers. Provisioning every one of those jobs for its peak is wasteful; provisioning for the average causes lag during surges. And in our platform a scaling action is not free: by default it means taking a savepoint, stopping the job gracefully, and restarting it at the new size, which for a large stateful job can take minutes. That leaves a genuinely hard question: how do you give each job the resources it needs, when it needs them, without a human in the loop and without breaking anything? The first autoscaler: watching from outside Our first answer, built around 2019, was an autoscaler shaped like a stream-processing job. It ran on M

## New in Confluent Intelligence and AI Tools: Making Agents Native to the Stream, Expanded Model Support, New Agent Skills, and Copilot

DevFeed: [New in Confluent Intelligence and AI Tools: Making Agents Native to the Stream, Expanded Model Support, New Agent Skills, and Copilot](<https://devfeed.tech/articles/new-in-confluent-intelligence-and-ai-tools-making-agents-native-to-the-stream-expanded-model-support-new-agent-skills-and-copilot-11547.md>)

Original publisher: [Read original article](<https://www.confluent.io/blog/2026-q3-confluent-intelligence-ai-update/>)

Author: Confluent Staff

Published: 2026-08-18T14:00:10Z

Content type: article

Language: en

Sources: [Confluent: Data in motion](<https://devfeed.tech/sources/confluent-data-in-motion.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [streaming-data-processing](<https://devfeed.tech/topics/streaming-data-processing.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Google](<https://devfeed.tech/topics/google.md>), [ibm](<https://devfeed.tech/topics/ibm.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-ready-data](<https://devfeed.tech/tags/ai-ready-data.md>), [ai-tools](<https://devfeed.tech/tags/ai-tools.md>), [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [confluent](<https://devfeed.tech/tags/confluent.md>), [confluent-cloud](<https://devfeed.tech/tags/confluent-cloud.md>), [google](<https://devfeed.tech/tags/google.md>), [ibm](<https://devfeed.tech/tags/ibm.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [skills](<https://devfeed.tech/tags/skills.md>), [streaming-data-processing](<https://devfeed.tech/tags/streaming-data-processing.md>), [support](<https://devfeed.tech/tags/support.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

Confluent announces updates to Confluent Intelligence and related AI tools for building production AI systems on Apache Kafka and Apache Flink. The release adds expanded time-series model support, a generally available Real-Time Context Engine, updates to the fully managed MCP Server, Agent Skills for AI coding assistants, and Confluent Copilot. The features are intended to provide agents and applications with fresh business context and governed access to live data and infrastructure.

### Source excerpt

Explore new AI features and AI tools: support for IBM Granite Time Series models and TimesFM models (EA), enhanced Real-Time Context Engine experience, new Agent Skills, Confluent Copilot

## Confluent Cloud for Apache Flink: Engine for Mission-Critical, Real-Time Operational Systems and dbt/SQL-Native Home for Data Science and AI

DevFeed: [Confluent Cloud for Apache Flink: Engine for Mission-Critical, Real-Time Operational Systems and dbt/SQL-Native Home for Data Science and AI](<https://devfeed.tech/articles/confluent-cloud-for-apache-flink-engine-for-mission-critical-real-time-operational-systems-and-dbt-sql-native-home-for-data-science-and-ai-11550.md>)

Original publisher: [Read original article](<https://www.confluent.io/blog/flink-mission-critical-operations-data-engg/>)

Author: Yashwanth Dasari

Published: 2026-08-18T02:20:00Z

Content type: release

Language: en

Sources: [Confluent: Data in motion](<https://devfeed.tech/sources/confluent-data-in-motion.md>)

Topics: [Confluent Cloud](<https://devfeed.tech/topics/confluent-cloud.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [stream-processing](<https://devfeed.tech/topics/stream-processing.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [AI, ML & Data Engineering](<https://devfeed.tech/topics/ai-ml-data-engineering.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [api](<https://devfeed.tech/tags/api.md>), [batch](<https://devfeed.tech/tags/batch.md>), [confluent-cloud](<https://devfeed.tech/tags/confluent-cloud.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [developers](<https://devfeed.tech/tags/developers.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [real-time](<https://devfeed.tech/tags/real-time.md>)

### AI overview

Confluent announces an evolution of Confluent Cloud for Apache Flink that unifies mission-critical real-time operations with analytics and AI workflows. The release adds a serverless, co-designed Kafka and Flink platform, including the generally available Flink Table API in Java for code-first development.

### Source excerpt

Flink now acts as a robust engine for developers through Table API, UDFs, and PTFs while offering a SQL-native, dbt-integrated platform for data science and AI teams.

## Announcing Confluent Platform 8.3: Powerful Apache Flink® SQL operations, Easier KRaft Migrations, Expanded Monitoring and more.

DevFeed: [Announcing Confluent Platform 8.3: Powerful Apache Flink® SQL operations, Easier KRaft Migrations, Expanded Monitoring and more.](<https://devfeed.tech/articles/announcing-confluent-platform-8-3-powerful-apache-flink-sql-operations-easier-kraft-migrations-expanded-monitoring-and-more-11552.md>)

Original publisher: [Read original article](<https://www.confluent.io/blog/introducing-confluent-platform-8-3/>)

Author: Premika Srinivasan

Published: 2026-07-29T15:00:10Z

Content type: release

Language: en

Sources: [Confluent: Data in motion](<https://devfeed.tech/sources/confluent-data-in-motion.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [data-governance](<https://devfeed.tech/topics/data-governance.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [codex](<https://devfeed.tech/topics/codex.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [apache-kafka](<https://devfeed.tech/tags/apache-kafka.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [confluent](<https://devfeed.tech/tags/confluent.md>), [confluent-platform](<https://devfeed.tech/tags/confluent-platform.md>), [data-governance](<https://devfeed.tech/tags/data-governance.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>)

### AI overview

Confluent Platform 8.3.0, built on Apache Kafka 4.3.0, adds simplified Apache Flink SQL operations, expanded monitoring through Unified Stream Manager, easier KRaft migration, and structured governance for data in motion. The release also introduces an MCP server for Confluent Platform for Apache Flink, allowing AI agents such as Claude Code and Codex to inspect and manage Flink resources through existing security controls.

### Source excerpt

Announcing Confluent Platform 8.3: Powerful Apache Flink® SQL operations, Easier KRaft Migrations, Expanded Monitoring and more

## Announcing Apache Iceberg 1.11.0

DevFeed: [Announcing Apache Iceberg 1.11.0](<https://devfeed.tech/articles/announcing-apache-iceberg-1-11-0-34302.md>)

Original publisher: [Read original article](<http://opensource.googleblog.com/2026/05/announcing-apache-iceberg-1110.html>)

Author: Google Open Source (noreply@blogger.com)

Published: 2026-05-27T18:30:00Z

Content type: release

Language: en

Sources: [Google Open Source Blog](<https://devfeed.tech/sources/google-open-source-blog.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [schema-evolution](<https://devfeed.tech/topics/schema-evolution.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [apache-iceberg](<https://devfeed.tech/tags/apache-iceberg.md>), [apache-spark](<https://devfeed.tech/tags/apache-spark.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [kms](<https://devfeed.tech/tags/kms.md>), [lakehouse](<https://devfeed.tech/tags/lakehouse.md>), [releases](<https://devfeed.tech/tags/releases.md>), [schema-evolution](<https://devfeed.tech/tags/schema-evolution.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

Apache Iceberg 1.11.0 adds support for Apache Spark 4.1 and Apache Flink 2.1, makes both default build targets, and introduces changes including server-side REST catalog scan planning, partition statistics APIs, built-in envelope encryption with Google KMS support, and Google Storage Analytics integration.

### Source excerpt

by Alex Stephen & Talat Uyarer, Lakehouse Apache Iceberg project has just launched version 1.11.0! A lot has happened since the last version. Iceberg 1.11.0 adds support for Apache Spark 4.1 and Apache Flink 2.1, the latest releases of the two engines and makes both the default build targets The rest are more structural. The REST catalog learns to plan scans server-side, shifting metadata work off the query engine. A new partition statistics scan API gives optimizers a clean, supported way to read a table's shape. Built-in table encryption arrives with envelope encryption and Google KMS support. And Google Storage Analytics library integration makes your Iceberg workloads faster than before. Let's take a look at some of the biggest changes. Spark & Flink Updates As Spark and Flink are moving forward, the 1.11.0 release is pushing forward for new version support in both. Spark 4.1 & DSv2 Migration: Spark 4.1 unlocks is MERGE INTO with automatic schema evolution: Spark's newer MERGE syntax accepts a WITH SCHEMA EVOLUTION clause, so a MERGE whose source carries columns the target table lacks can add those columns to the table within the same statement, with no separate ALTER TABLE round trip. Beyond the version bump, the 1.11 Spark connector also modernizes against Spark's newer DataSource V2 APIs and adds an asynchronous micro-batch planner that speeds up Structured Streaming. Flink Ecosystem Updates: Initial work for Flink 2.1 support has landed in the core repository, continuing Iceberg's promise of providing first-class, low-latency streaming sink capabilities. The centerpiece of the Flink work is the DynamicIcebergSink, an experimental sink that breaks the old one-sink-per-table model: a single sink routes each record to a table chosen at runtime, creating tables on demand and evolving their schemas and partition specs on the fly as the input changes including dropping columns once you opt in with dropUnusedColumns. In addition to DynamicIcebergSInk work Flink sta

## Building AI agents as streaming SQL queries with Apache Flink

DevFeed: [Building AI agents as streaming SQL queries with Apache Flink](<https://devfeed.tech/articles/this-ai-agent-should-have-been-a-sql-query-18880.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/this-ai-agent-should-have-been-sql-query/>)

Published: 2025-06-18T13:30:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [llms](<https://devfeed.tech/tags/llms.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [sql](<https://devfeed.tech/tags/sql.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This article explores whether AI agents can be built as streaming SQL queries. It presents Apache Flink and stream-processing concepts as potential foundations for event-driven, scalable, consistent, low-latency agentic systems, while noting that many deployed agents are defined AI-assisted workflows.

### Source excerpt

Table of Contents Agents Need to Interact With LLMs Agents Should Be Event-Driven Agents Need Context Agents Require Memory When SQL Is Not Enough Parting Thoughts AI Agents have improved in leaps and bounds in recent times, moving beyond simple chatbots to sophisticated, autonomous systems. This post explores a novel approach to building agentic systems: using the power of streaming SQL queries. Discover how platforms like Apache Flink can transform the development of AI Agents, offering benefits in consistency, scalability, and developer experience.

## Backfilling Postgres TOAST Columns in Debezium Data Change Events

DevFeed: [Backfilling Postgres TOAST Columns in Debezium Data Change Events](<https://devfeed.tech/articles/backfilling-postgres-toast-columns-in-debezium-data-change-events-18798.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/backfilling-postgres-toast-columns-debezium-change-events/>)

Published: 2025-05-26T14:40:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [stream-processing](<https://devfeed.tech/topics/stream-processing.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [data](<https://devfeed.tech/tags/data.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [debezium-connector](<https://devfeed.tech/tags/debezium-connector.md>), [flink](<https://devfeed.tech/tags/flink.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [replication](<https://devfeed.tech/tags/replication.md>), [sql](<https://devfeed.tech/tags/sql.md>), [stateful](<https://devfeed.tech/tags/stateful.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>)

### AI overview

This article explains how Postgres logical replication handles TOAST columns in Debezium change events. It discusses Debezium's reselect postprocessor and explores Apache Flink solutions using stateful stream processing, Flink SQL, and process table functions.

### Source excerpt

Table of Contents Debezium Reselect Postprocessor Flink DataStream API Flink SQL With OVER Aggregation Flink Process Table Functions Summary and Discussion Postgres logical replication, while powerful for capturing real-time data changes, presents challenges with TOAST columns, whose values can be absent from data change events in specific situations. This post discusses how Debezium addresses this through its built-in reselect post processor, then explores more robust solutions leveraging Apache Flink's capabilities for stateful stream processing, including Flink SQL and the brand-new process table functions (PTFs) in Flink 2.1.

## A Deep Dive Into Ingesting Debezium Events From Kafka With Flink SQL

DevFeed: [A Deep Dive Into Ingesting Debezium Events From Kafka With Flink SQL](<https://devfeed.tech/articles/a-deep-dive-into-ingesting-debezium-events-from-kafka-with-flink-sql-18833.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/ingesting-debezium-events-from-kafka-with-flink-sql/>)

Published: 2025-04-16T09:25:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Apache-Kafka](<https://devfeed.tech/topics/apache-kafka.md>)

Tags: [changelog](<https://devfeed.tech/tags/changelog.md>), [connectors](<https://devfeed.tech/tags/connectors.md>), [data](<https://devfeed.tech/tags/data.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [flink](<https://devfeed.tech/tags/flink.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [schema](<https://devfeed.tech/tags/schema.md>), [streams](<https://devfeed.tech/tags/streams.md>)

### AI overview

This tutorial explains how to ingest Debezium change events from Kafka into Apache Flink using Flink SQL. It compares the Apache Kafka SQL Connector and Upsert Kafka SQL Connector, discusses JSON and Avro formats, and explains how connector and format choices determine append-only or changelog semantics.

### Source excerpt

Table of Contents Flink SQL Connectors for Apache Kafka The Apache Kafka SQL Connector in Append-Only Mode The Apache Kafka SQL Connector As a Changelog Source The Upsert Kafka SQL Connector Summary Over the years, I've spoken quite a bit about the use cases for processing Debezium data change events with Apache Flink, such as metadata enrichment, building denormalized data views, and creating data contracts for your CDC streams. One detail I haven't covered in depth so far is how to actually ingest Debezium change events from a Kafka topic into Flink, in particular via Flink SQL. Several connectors and data formats exist for this, which can make things somewhat confusing at first. So let's dive into the different options and the considerations around them!

## JEP 483: Ahead-of-Time Class Loading and Linking in Java 24

DevFeed: [JEP 483: Ahead-of-Time Class Loading and Linking in Java 24](<https://devfeed.tech/articles/let-s-take-a-look-at-jep-483-ahead-of-time-class-loading-linking-18841.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/jep-483-aot-class-loading-linking/>)

Published: 2025-03-27T13:00:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article examines JEP 483, which loads and links Java classes ahead of time and caches the results to reduce application startup time. It explains the feature's role in Project Leyden, its relationship to AppCDS, the training-run and classpath requirements, and examples using Apache Kafka and Apache Flink.

### Source excerpt

Table of Contents Building an AOT Cache for Apache Kafka AOT Caching With Apache Flink Summary In the "Let's Take a Look at...!" blog series I am exploring interesting projects, developments and technologies in the data and streaming space. This can be KIPs and FLIPs, open-source projects, services, relevant improvements to Java and the JVM, and more. The idea is to get some hands-on experience, learn about potential use cases and applications, and understand the trade-offs involved. If you think there's a specific subject I should take a look at, let me know in the comments below. Java 24 got released last week, and what a meaty release it is: more than twenty Java Enhancement Proposals (JEPs) have been shipped, including highlights such as compact object headers (JEP 450, I hope to spend some time diving into that one some time soon), a new class-file API (JEP 484), and more flexible constructor bodies (JEP 492, third preview). One other JEP which might fly a bit under the radar is JEP 483 ("Ahead-of-Time Class Loading & Linking"). It promises to reduce the start-up time of Java applications without requiring any modifications to the application itself, what's not to be liked about that? Let's take a closer look!

## Get Running with Apache Flink on Kubernetes, part 2 of 2

DevFeed: [Get Running with Apache Flink on Kubernetes, part 2 of 2](<https://devfeed.tech/articles/get-running-with-apache-flink-on-kubernetes-part-2-of-2-18823.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/get-running-with-apache-flink-on-kubernetes-2/>)

Published: 2025-01-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [container](<https://devfeed.tech/topics/container.md>), [MinIO](<https://devfeed.tech/topics/minio.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [rocksdb](<https://devfeed.tech/topics/rocksdb.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [availability](<https://devfeed.tech/tags/availability.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [flink](<https://devfeed.tech/tags/flink.md>), [github](<https://devfeed.tech/tags/github.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [minio](<https://devfeed.tech/tags/minio.md>), [observability](<https://devfeed.tech/tags/observability.md>), [rocksdb](<https://devfeed.tech/tags/rocksdb.md>), [s3](<https://devfeed.tech/tags/s3.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Part two of a tutorial series on running Apache Flink jobs on Kubernetes. It explains checkpointing, job manager high availability, savepoints, external object storage, incremental RocksDB checkpoints, observability, and related job-management practices.

### Source excerpt

Table of Contents Fault Tolerance and High Availability Manually Triggering Savepoints Observability Bonus: Managing Flink Jobs With the Heimdall UI Summary and Discussion This post originally appeared on the Decodable blog. All rights reserved. Welcome back to this two-part blog post series about running Apache Flink on Kubernetes, using the Flink Kubernetes operator. In part one, we discussed installation and setup of the operator, different deployment types, how to deploy Flink jobs using custom Kubernetes resources, and how to create container images for your own Flink jobs. In this part, we'll focus on aspects such as fault tolerance and high availability of your Flink jobs running on Kubernetes, savepoint management, observability, and more. You can find the complete source code for all the examples shown in this series in the Decodable examples repository on GitHub: on GitHub.

## Get Running with Apache Flink on Kubernetes, part 1 of 2

DevFeed: [Get Running with Apache Flink on Kubernetes, part 1 of 2](<https://devfeed.tech/articles/get-running-with-apache-flink-on-kubernetes-part-1-of-2-18822.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/get-running-with-apache-flink-on-kubernetes-1/>)

Published: 2025-01-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Provisioning](<https://devfeed.tech/topics/provisioning.md>), [container images](<https://devfeed.tech/topics/container-images.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [installation](<https://devfeed.tech/tags/installation.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [operator](<https://devfeed.tech/tags/operator.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>)

### AI overview

A two-part tutorial on deploying Apache Flink jobs on Kubernetes using the upstream Flink Kubernetes Operator. Part one covers installation, setup, custom-resource deployment, and building container images; part two addresses fault tolerance, high availability, savepoints, observability, and UI access.

### Source excerpt

Table of Contents Installation and Setup Deployment Types Deploying Your First Flink Job on Kubernetes Building Custom Job Images This post originally appeared on the Decodable blog. All rights reserved. Kubernetes is a widely used deployment platform for Apache Flink. While Flink has had native support for Kubernetes for quite a while, it is in particular the operator pattern which makes deploying Flink jobs onto Kubernetes clusters a compelling option: you define jobs in a declarative resource, and a control loop running in a component called a Kubernetes operator takes care of provisioning and maintaining (e.g. scaling, updating) all the required resources. Automation is the keyword here, significantly reducing the manual effort required for running Flink jobs in production.

## Getting Started With PyFlink on Kubernetes

DevFeed: [Getting Started With PyFlink on Kubernetes](<https://devfeed.tech/articles/getting-started-with-pyflink-on-kubernetes-18825.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/getting-started-with-pyflink-on-kubernetes/>)

Published: 2023-12-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [stream-processing](<https://devfeed.tech/topics/stream-processing.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Python](<https://devfeed.tech/topics/python.md>), [data-engineering](<https://devfeed.tech/topics/data-engineering.md>)

Tags: [apache-kafka](<https://devfeed.tech/tags/apache-kafka.md>), [flink](<https://devfeed.tech/tags/flink.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [operator](<https://devfeed.tech/tags/operator.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>)

### AI overview

A practical guide to running PyFlink on Kubernetes with Apache Flink 1.18. It covers installing the Flink Kubernetes Operator and Kafka with Strimzi, creating a PyFlink job that generates data and writes it to Kafka using Flink SQL, building a container image, and deploying the job to Kubernetes.

### Source excerpt

Table of Contents What Is PyFlink and Why Should You Care? Prerequisites Installing the Flink Kubernetes Operator Installing Strimzi and Apache Kafka A Simple PyFlink Job Building a Container Image With Your PyFlink Job Deploying a PyFlink Job On Kubernetes This post originally appeared on the Decodable blog. All rights reserved. The other day, I wanted to get my feet wet with PyFlink. While there is a fair amount of related information out there, I couldn't find really up-to-date documentation on using current versions of PyFlink with Flink on Kubernetes.

## CDC Use Cases: 7 Ways to Put CDC to Work

DevFeed: [CDC Use Cases: 7 Ways to Put CDC to Work](<https://devfeed.tech/articles/cdc-use-cases-7-ways-to-put-cdc-to-work-18807.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/cdc-use-cases/>)

Published: 2023-11-02T00:00:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [data-engineering](<https://devfeed.tech/topics/data-engineering.md>), [streaming-data-processing](<https://devfeed.tech/topics/streaming-data-processing.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [data](<https://devfeed.tech/tags/data.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [real-time](<https://devfeed.tech/tags/real-time.md>)

### AI overview

This article explains change data capture (CDC), focusing on log-based CDC and its low-latency, resource-efficient handling of database changes. It introduces Debezium and describes how CDC works with data streaming and stream-processing tools such as Apache Kafka and Apache Flink, before outlining seven common use cases.

### Source excerpt

Table of Contents What is CDC? CDC Tools Analytics Data Platforms Application Caches Full-Text Search Audit Logs Continuous Queries Microservices Data Exchange Monolith-to-Microservices Migration Summary This post originally appeared on the Decodable blog. All rights reserved. Change Data Capture (CDC) is a powerful tool in data engineering and has seen a tremendous uptake in organizations of all kinds over the last few years. This is because it enables the tight integration of transactional databases into many other systems in your business at a very low latency.

## Building Apache Flink with Maven: Resolving HTTP Repository Dependency Issues

DevFeed: [Building Apache Flink with Maven: Resolving HTTP Repository Dependency Issues](<https://devfeed.tech/articles/maven-what-are-you-waiting-for-18852.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/maven-what-are-you-waiting-for/>)

Published: 2022-12-18T12:45:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [apache](<https://devfeed.tech/tags/apache.md>), [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [security](<https://devfeed.tech/tags/security.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>)

### AI overview

This article describes issues encountered while building Apache Flink from source with Maven 3.8.6. It explains how dependency-defined HTTP repositories can be blocked by Maven 3.8.1 and later, and discusses tracing the problematic dependency and overriding the repository URL in settings.xml.

### Source excerpt

As part of my new job at Decodable, I am also planning to contribute to the Apache Flink project (as Decodable's fully-managed stream processing platform is based on Flink). Right now, I am in the process of familiarizing myself with the Flink code base, and as such I am of course building the project from source, too.

## 3 (More) Tips for Optimizing Apache Flink Applications

DevFeed: [3 (More) Tips for Optimizing Apache Flink Applications](<https://devfeed.tech/articles/3-more-tips-for-optimizing-apache-flink-applications-1510.md>)

Original publisher: [Read original article](<https://shopify.engineering/optimizing-apache-flink-tips-part-two>)

Author: Kevin Lam

Published: 2022-12-13T14:00:00Z

Content type: tutorial

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [backpressure](<https://devfeed.tech/tags/backpressure.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [performance](<https://devfeed.tech/tags/performance.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [stateful](<https://devfeed.tech/tags/stateful.md>)

### AI overview

Shopify presents additional best practices for optimizing large, stateful Apache Flink applications. The supplied text covers selecting appropriate parallelism to scale execution and improve resource utilization, and avoiding bottlenecks in data sinks that can reduce throughput and cause backpressure.

### Source excerpt

Earlier this year, we shared our tips for optimizing large stateful Apache Flink applications. Below we'll walk you through 3 more best practices.

## Investigating WAL Growth from an Inactive Postgres Replication Slot on Amazon RDS

DevFeed: [Investigating WAL Growth from an Inactive Postgres Replication Slot on Amazon RDS](<https://devfeed.tech/articles/the-insatiable-postgres-replication-slot-18834.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/insatiable-postgres-replication-slot/>)

Published: 2022-11-30T13:00:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Replication](<https://devfeed.tech/topics/replication.md>), [Amazon RDS](<https://devfeed.tech/topics/amazon-rds.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [amazon](<https://devfeed.tech/tags/amazon.md>), [amazon-rds](<https://devfeed.tech/tags/amazon-rds.md>), [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [database](<https://devfeed.tech/tags/database.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [disk-space](<https://devfeed.tech/tags/disk-space.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [replication](<https://devfeed.tech/tags/replication.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article investigates how an inactive Postgres replication slot on Amazon RDS can retain WAL segments and consume disk space even when the database appears idle. It reproduces the behavior and compares replication-slot LSN differences with RDS storage and transaction-log metrics.

### Source excerpt

Table of Contents The Observation The Solution Take Away While working on a demo for processing change events from Postgres with Apache Flink, I noticed an interesting phenomenon: A Postgres database which I had set up for that demo on Amazon RDS, ran out of disk space. The machine had a disk size of 200 GiB which was fully used up in the course of less than two weeks. Now a common cause for this kind of issue are replication slots which are not advanced: in that case, Postgres will hold on to all WAL segments after the latest log sequence number (LSN) which was confirmed for that slot. Indeed I had set up a replication slot (via the Decodable CDC source connector for Postgres, which is based on Debezium). I then had stopped that connector, causing the slot to become inactive. The problem was though that I was really sure that there was no traffic in that database whatsoever! What could cause a WAL growth of ~18 GB/day then?

## Reducing BigQuery Costs: How We Fixed A $1 Million Query

DevFeed: [Reducing BigQuery Costs: How We Fixed A $1 Million Query](<https://devfeed.tech/articles/reducing-bigquery-costs-how-we-fixed-a-1-million-query-1542.md>)

Original publisher: [Read original article](<https://shopify.engineering/reducing-bigquery-costs>)

Author: Calvin Zhou

Published: 2022-11-03T18:14:51Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [BigQuery](<https://devfeed.tech/topics/bigquery.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [parquet](<https://devfeed.tech/topics/parquet.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [rocksdb](<https://devfeed.tech/topics/rocksdb.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [bigquery](<https://devfeed.tech/tags/bigquery.md>), [cloud-storage](<https://devfeed.tech/tags/cloud-storage.md>), [cost](<https://devfeed.tech/tags/cost.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [rocksdb](<https://devfeed.tech/tags/rocksdb.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

The article describes how a Shopify team discovered that a BigQuery query could cost nearly $1 million USD per month while building a marketing data pipeline. The team used Apache Flink with RocksDB and Apache Kafka, then evaluated BigQuery as an external data warehouse capable of querying large datasets and exporting results to Google Cloud Storage. The supplied text ends as the team encounters the cost problem, before detailing the eventual fix.

### Source excerpt

We discovered a query that nearly cost us $1 million USD a month in BigQuery. Below, we'll share our tips for lowering costs in BigQuery.

## Tiny Telematics: Tracking my truck's location offline with a Raspberry Pi, redis, Kafka, and Flink (Part 2)

DevFeed: [Tiny Telematics: Tracking my truck's location offline with a Raspberry Pi, redis, Kafka, and Flink (Part 2)](<https://devfeed.tech/articles/tiny-telematics-tracking-my-truck-s-location-offline-with-a-raspberry-pi-redis-kafka-and-flink-part-2-41497.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2022/09/tiny-telematics-tracking-my-trucks-location-offline-with-a-raspberry-pi-redis-kafka-and-flink-part-2/>)

Author: Christian Hollinger

Published: 2022-09-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [backend](<https://devfeed.tech/tags/backend.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [dongle](<https://devfeed.tech/tags/dongle.md>), [flink](<https://devfeed.tech/tags/flink.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [gps](<https://devfeed.tech/tags/gps.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [linux](<https://devfeed.tech/tags/linux.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [redis](<https://devfeed.tech/tags/redis.md>), [scala](<https://devfeed.tech/tags/scala.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [telematics](<https://devfeed.tech/tags/telematics.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

Part 2 of a project that tracks a truck's location offline with a Raspberry Pi and GPS dongle. It sets up backend infrastructure, builds a Kafka and Apache Flink streaming pipeline, persists location data, and tests the system on the road.

### Source excerpt

Tracking vehicle location offline with a Raspberry Pi, Part 2: Apache Flink, scala, Kafka, and road-testing.

## 7 Tips For Optimizing Apache Flink Applications

DevFeed: [7 Tips For Optimizing Apache Flink Applications](<https://devfeed.tech/articles/7-tips-for-optimizing-apache-flink-applications-1509.md>)

Original publisher: [Read original article](<https://shopify.engineering/optimizing-apache-flink-applications-tips>)

Author: Yaroslav Tkachenko

Published: 2022-03-08T21:20:39Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [rocksdb](<https://devfeed.tech/topics/rocksdb.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data](<https://devfeed.tech/tags/data.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [performance](<https://devfeed.tech/tags/performance.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [rocksdb](<https://devfeed.tech/tags/rocksdb.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This Shopify Engineering article presents lessons for optimizing large, stateful Apache Flink applications. It discusses profiling and debugging tools, performance tuning, resiliency, high availability, Kubernetes deployment, RocksDB state management, and checkpoint and savepoint storage in Google Cloud Storage.

### Source excerpt

We've spent a lot of time on performance tuning our Apache Flink application. We'll walk you through key lessons for optimizing large stateful Apache Flink applications.

## Scaling Shopify's BFCM Live Map: An Apache Flink Redesign

DevFeed: [Scaling Shopify's BFCM Live Map: An Apache Flink Redesign](<https://devfeed.tech/articles/scaling-shopify-s-bfcm-live-map-an-apache-flink-redesign-1306.md>)

Original publisher: [Read original article](<https://shopify.engineering/bfcm-live-map-2021-apache-flink-redesign>)

Author: Berkay Antmen

Published: 2021-12-10T19:00:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Shopify](<https://devfeed.tech/topics/shopify.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Data Infrastructure](<https://devfeed.tech/topics/data-infrastructure.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [streaming-data-processing](<https://devfeed.tech/topics/streaming-data-processing.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [data-infrastructure](<https://devfeed.tech/tags/data-infrastructure.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [stateful](<https://devfeed.tech/tags/stateful.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

Shopify Data Platform Engineering redesigned the infrastructure behind the BFCM live map with Apache Flink to support more than 1.7 million merchants, richer insights, higher data volume, and higher uptime without manual intervention.

### Source excerpt

A deep dive into how Shopify Data revamped the data infrastructure powering our BFCM live map using Apache Flink.

## A Data Engineering Perspective on Go vs. Python (Part 2 - Dataflow)

DevFeed: [A Data Engineering Perspective on Go vs. Python (Part 2 - Dataflow)](<https://devfeed.tech/articles/a-data-engineering-perspective-on-go-vs-python-part-2-dataflow-41486.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2020/07/a-data-engineering-perspective-on-go-vs.-python-part-2-dataflow/>)

Author: Christian Hollinger

Published: 2020-07-06T00:00:00Z

Content type: article

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [data-engineering](<https://devfeed.tech/topics/data-engineering.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Python](<https://devfeed.tech/topics/python.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [AI, ML & Data Engineering](<https://devfeed.tech/topics/ai-ml-data-engineering.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [etl](<https://devfeed.tech/topics/etl.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [apache-spark](<https://devfeed.tech/tags/apache-spark.md>), [beam](<https://devfeed.tech/tags/beam.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [big-data](<https://devfeed.tech/tags/big-data.md>), [cloud-dataflow](<https://devfeed.tech/tags/cloud-dataflow.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [dataflow](<https://devfeed.tech/tags/dataflow.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etl](<https://devfeed.tech/tags/etl.md>), [gcp](<https://devfeed.tech/tags/gcp.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [google-cloud](<https://devfeed.tech/tags/google-cloud.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [spark](<https://devfeed.tech/tags/spark.md>)

### AI overview

A comparison of Go and Python for data engineering using Apache Beam and Google Dataflow. It examines their SDK differences, drawbacks, benchmark performance, and the feasibility of switching between them.

### Source excerpt

In Part 2 of our comparison of Python and go from a Data Engineering perspective, we'll finally take a look at Apache Beam and Google Dataflow and how the go SDK and the Python SDK differ, what drawbacks we're dealing with, how fast it is by running extensive benchmarks, and how feasible it is to make the switch

## Running Apache Flink on Amazon Elastic Mapreduce

DevFeed: [Running Apache Flink on Amazon Elastic Mapreduce](<https://devfeed.tech/articles/running-apache-flink-on-amazon-elastic-mapreduce-20847.md>)

Original publisher: [Read original article](<http://themodernlife.net/scala/hadoop/hdfs/sclading/flink/streaming/realtime/emr/aws/2016/01/06/running-apache-flink-on-amazon-elastic-mapreduce/>)

Published: 2016-01-06T08:15:13Z

Content type: tutorial

Language: en

Sources: [Ian Hummel](<https://devfeed.tech/sources/ian-hummel.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Hadoop](<https://devfeed.tech/topics/hadoop.md>), [Scalding](<https://devfeed.tech/topics/scalding.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [aws](<https://devfeed.tech/tags/aws.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [ec2](<https://devfeed.tech/tags/ec2.md>), [emr](<https://devfeed.tech/tags/emr.md>), [flink](<https://devfeed.tech/tags/flink.md>), [hadoop](<https://devfeed.tech/tags/hadoop.md>), [hdfs](<https://devfeed.tech/tags/hdfs.md>), [linux](<https://devfeed.tech/tags/linux.md>), [realtime](<https://devfeed.tech/tags/realtime.md>), [s3](<https://devfeed.tech/tags/s3.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scalding](<https://devfeed.tech/tags/scalding.md>), [sclading](<https://devfeed.tech/tags/sclading.md>), [spark](<https://devfeed.tech/tags/spark.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

A tutorial on running Apache Flink jobs on Amazon EMR, including adapting Scalding jobs and launching and accessing an EMR cluster. It also discusses EMRFS support for reading data from Amazon S3.

### Source excerpt

I love really Amazon EMR. Over the years it's grown from being "Hadoop on-demand" to a full-fledged cluster management system for running OSS big-data apps (Hadoop MR of course, but also Spark, Hue, Hive, Pig, Oozie and more). While Hadoop out of the box supports reading from S3, EMR has a proprietary implementation called EMRFS that has some nice features. For those reasons, it's really the best Hadoop cluster to use if you're storing your data in S3. Lately I've been experimenting a lot with Apache Flink to replace MR as the excution fabric. At work, we have many, many jobs written in Scalding. Flink can execute Scalding jobs with some very simple modifications which was a great way to move our jobs from MR to a more memory-centric data processing model. However, we really wanted to run our jobs on EMR using Flink. Flink is not an option for EMR (yet) but can we still get our jobs to run? Let's see! Start an EMR cluster The first thing we need is an EMR cluster. You can launch a small test cluster for very cheap. Once it's running, let's ssh onto it and see what's going on. ihummel at mm-mac-3270 in ~ $ ssh hadoop@ec2-54-226-25-85.compute-1.amazonaws.com Last login: Wed Jan 6 16:33:01 2016 from 172.85.47.138 __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/ 23 package(s) needed for security, out of 49 available Run "sudo yum update" to apply all updates. EEEEEEEEEEEEEEEEEEEE MMMMMMMM MMMMMMMM RRRRRRRRRRRRRRR E::::::::::::::::::E M:::::::M M:::::::M R::::::::::::::R EE:::::EEEEEEEEE:::E M::::::::M M::::::::M R:::::RRRRRR:::::R E::::E EEEEE M:::::::::M M:::::::::M RR::::R R::::R E::::E M::::::M:::M M:::M::::::M R:::R R::::R E:::::EEEEEEEEEE M:::::M M:::M M:::M M:::::M R:::RRRRRR:::::R E::::::::::::::E M:::::M M:::M:::M M:::::M R:::::::::::RR E:::::EEEEEEEEEE M:::::M M:::::M M:::::M R:::RRRRRR::::R E::::E M:::::M M:::M M:::::M R:::R R::::R E::::E EEEEE M:::::M MMM M:::::M R:::R R::::R EE:::::EEEEEEEE::::E

## Running Scalding jobs on Apache Flink

DevFeed: [Running Scalding jobs on Apache Flink](<https://devfeed.tech/articles/running-scalding-jobs-on-apache-flink-20846.md>)

Original publisher: [Read original article](<http://themodernlife.net/scala/hadoop/hdfs/sclading/flink/streaming/realtime/2015/12/20/running-scalding-jobs-on-apache-flink/>)

Published: 2015-12-20T08:15:13Z

Content type: tutorial

Language: en

Sources: [Ian Hummel](<https://devfeed.tech/sources/ian-hummel.md>)

Topics: [Scalding](<https://devfeed.tech/topics/scalding.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Hadoop](<https://devfeed.tech/topics/hadoop.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [flink](<https://devfeed.tech/tags/flink.md>), [hadoop](<https://devfeed.tech/tags/hadoop.md>), [hdfs](<https://devfeed.tech/tags/hdfs.md>), [realtime](<https://devfeed.tech/tags/realtime.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scalding](<https://devfeed.tech/tags/scalding.md>), [sclading](<https://devfeed.tech/tags/sclading.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This tutorial explains how to run Scalding jobs on Apache Flink. It outlines the required compatibility work, including Cascading 3 support, a Scalding version compiled against Cascading 3, selection of hadoop2-flink as the Cascading fabric, and a fix for a Twitter Chill bug. It also provides a sample Scala word-count job and build configuration changes.

### Source excerpt

My previous post showed a very simple Scalding workflow. Apache Flink is a real time streaming framework that's very promising. It also supports running Cascading workflows with very little modification. Surely there must be some way to run a Scalding job on top of Flink? Turns out... YES! In a nutshell Here are the high-level things we need to solve for We need a Scalding job to test this out with cascading-flink requires Cascading 3 We need a new version of Scalding - Compiled against Cascading 3 - Allows hadoop2-flink to be selected as the Cascading "fabric" There is a bug in Twitter Chill We need Flink packaged with the Chill fix Scalding job Let's start with a very simple Scalding job. You can download https://github.com/themodernlife/simple-scalding-example for some inspiration. package net.themodernlife import com.twitter.scalding._ class WordCount(args: Args) extends Job(args) { def tokenize(text: String): Array[String] = { text.toLowerCase.replaceAll("[^a-zA-Z0-9\\s]", "").split("\\s+") } val input = args("input") val output = args("output") TextLine(args("input")) .flatMap[String, String]('line -> 'word)(tokenize) .groupBy('word)(_.size) .write(Tsv(output)) } We'll be making some updates to our build.sbt. Here's what we're starting with organization := "net.themodernlife" name := "simple-scalding-example" scalaVersion := "2.11.7" scalacOptions ++= Seq("-encoding", "utf-8", "-deprecation", "-unchecked", "-feature") resolvers ++= Seq( "Concurrent Maven Repo" at "http://conjars.org/repo", "Twitter Maven Repo" at "http://maven.twttr.com" ) libraryDependencies ++= Seq( "com.twitter" %% "scalding-core" % "0.15.0", "org.apache.hadoop" % "hadoop-client" % "2.2.0" % "provided", "org.slf4j" % "slf4j-log4j12" % "1.7.13" % "provided" ) A new Scalding build We need to update Scalding Apply https://github.com/twitter/scalding/pull/1446 Apply/hack https://github.com/twitter/scalding/pull/1220 Hack Build.scala to ignore some submodules According to http://www.cascading.org/2