0Pricing
Apache Kafka & Stream Processing Fundamentals · درس

مقدمة إلى KSQL لتحليلات التدفقات

استكشف KSQL، وهي واجهة شبيهة بـ SQL لمعالجة التدفقات في الوقت الفعلي على Kafka، تتيح تحويل البيانات والاستعلام عنها بسرعة

مقدمة إلى KSQL لتحليلات التدفقات درس مجاني في Apache Kafka & Stream Processing Fundamentals على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Apache Kafka & Stream Processing Fundamentals، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Apache Kafka & Stream Processing Fundamentals 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Meet KSQL: Stream Processing with SQL

Welcome to KSQL! It's an SQL-like language that lets you process and query data directly from Apache Kafka topics in real-time. Think of it as SQL for your data streams.

KSQL simplifies building stream processing applications, making it accessible even if you're not an expert in programming languages like Java or Scala.

Why KSQL? The Benefits

KSQL brings several advantages to your Kafka ecosystem:

  • Real-time Analytics: Query live data streams as they arrive.
  • Simplified ETL: Easily transform, filter, and aggregate data to create new topics.
  • Rapid Development: Write complex stream processing logic with simple SQL queries.
  • Operational Insights: Monitor your Kafka data flows with continuous queries.

KSQLDB: The Stream Processing Engine

At the heart of KSQL is KSQLDB, a distributed streaming database built on Kafka. It acts as the engine that executes your KSQL queries.

When you run a KSQL query, KSQLDB translates it into a Kafka Streams application, which then runs continuously on your Kafka cluster to process data.

Interacting with KSQLDB CLI

You can interact with KSQLDB using its command-line interface (CLI). This allows you to define streams, tables, and run queries directly.

First, you'll start the KSQLDB server, then connect to it using the CLI. Here's how you might connect:

ksql http://localhost:8088

Streams: Continuous Data Flows

In KSQL, a stream represents an unbounded, ordered sequence of events. It's like a direct view into a Kafka topic, where each message is an event.

You define a stream by mapping its fields to the data in a Kafka topic. Here's an example of creating a stream for website page views:

CREATE STREAM pageviews (
  viewtime BIGINT,
  userid VARCHAR,
  pageid VARCHAR
)
WITH (
  kafka_topic='pageviews_topic',
  value_format='JSON'
);

Tables: Materialized Views of Streams

A table in KSQL represents a changelog stream, where each record is an update to a row in the table. It's a continuously updated, materialized view of your data.

Tables are useful for stateful operations, like counting events or storing the latest value for a key. Imagine a table of user profiles, always showing the most current data.

CREATE TABLE users_by_region AS
SELECT
  regionid,
  COUNT(userid) AS user_count
FROM users_stream
GROUP BY regionid
EMIT CHANGES;

Querying Streams Continuously

One of KSQL's most powerful features is the ability to run continuous queries on streams. Unlike traditional SQL which runs once and exits, KSQL queries keep running and output results as new data arrives.

You can use familiar SELECT statements. Add EMIT CHANGES to see new results and LIMIT for interactive exploration:

SELECT userid, pageid
FROM pageviews
EMIT CHANGES
LIMIT 5;

Basic Data Transformations

KSQL allows you to easily transform your stream data using standard SQL clauses like WHERE for filtering and selecting specific columns.

This is great for creating new, refined data streams or for simple real-time analytics. For example, let's filter page views to only show those related to the 'home' page:

SELECT userid, pageid
FROM pageviews
WHERE pageid LIKE '%home%'
EMIT CHANGES;

Persistent Queries for ETL

Beyond interactive queries, KSQL allows you to define persistent queries. These are queries that run continuously in the background and write their results back to new Kafka topics.

You create persistent queries using CREATE STREAM AS SELECT or CREATE TABLE AS SELECT. They are perfect for building real-time ETL (Extract, Transform, Load) pipelines.

CREATE STREAM high_value_pageviews AS
SELECT userid, pageid
FROM pageviews
WHERE userid IN ('user_premium', 'user_gold');

KSQL Concepts Check

Test your understanding of KSQL fundamentals.

KSQL: SQL for Your Data Streams

In this lesson, you've been introduced to KSQL, an incredibly powerful SQL-like interface for real-time stream processing on Apache Kafka.

  • You learned about KSQLDB, the engine powering KSQL.
  • You understood the difference between KSQL streams and tables.
  • You saw how to write basic continuous queries and create persistent queries for ETL.

KSQL opens up a world of real-time analytics and data transformation directly on your Kafka topics!

الأسئلة الشائعة

هل درس «مقدمة إلى KSQL لتحليلات التدفقات» مجاني؟

نعم — نص درس «مقدمة إلى KSQL لتحليلات التدفقات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Apache Kafka & Stream Processing Fundamentals، انتقل إلى CoddyKit PRO. تتضمن دورة Apache Kafka & Stream Processing Fundamentals 4 دروس في المجموع.

ماذا ستتعلم في «مقدمة إلى KSQL لتحليلات التدفقات»؟

استكشف KSQL، وهي واجهة شبيهة بـ SQL لمعالجة التدفقات في الوقت الفعلي على Kafka، تتيح تحويل البيانات والاستعلام عنها بسرعة تتمرن على Apache Kafka & Stream Processing Fundamentals مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Apache Kafka & Stream Processing Fundamentals؟

لا تُشترط خبرة سابقة. Apache Kafka & Stream Processing Fundamentals على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «مقدمة إلى KSQL لتحليلات التدفقات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Apache Kafka & Stream Processing Fundamentals هذا؟

نعم. كل درس في Apache Kafka & Stream Processing Fundamentals يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عمليات النوافذ الزمنية في Kafka Streams
  2. الضم والتجميع في التدفقات
  3. مقدمة إلى KSQL لتحليلات التدفقات
  4. الاستعلامات التفاعلية ومخازن الحالة
← العودة إلى Apache Kafka & Stream Processing Fundamentals