1. 程式人生 > >KSQL,用於Apache Kafka的流資料SQL引擎

KSQL,用於Apache Kafka的流資料SQL引擎

Apache Kafka是一個分散式的、分割槽的、多複本的日誌提交服務,使用Scala編寫,以可水平擴充套件和高吞吐率而被廣泛使用。Kafka最初是由LinkedIn開發,並於2011年初開源,目標是為實時資料處理提供一個統一、高通量、低等待的平臺。目前,越來越多的開源分散式處理系統如Cloudera、Apache Storm、Spark都支援與Kafka整合。

圖片描述
Kafka拓撲結構

Kafka的設計可以幫助使用者解決很多架構上的問題,其具備的高效能、低耦合、高可靠性、資料不丟失等特性,結合實際的應用系統使用場景,能夠非常滿足使用者的需求。

8月28日,Kafka Summit大會在舊金山召開,同一天Confluent宣佈Kafka新的里程碑:KSQL——用於Apache Kafka的流資料SQL引擎。KSQL()是分散式、可擴充套件、可靠的和實時的,支援多種流式操作,包括聚合(aggregate)、連線(join)、時間視窗(window)、會話(session)等等。它為Kafka的流處理提供了一個簡單而完整的SQL介面,而不需要再用程式語言(如Java或Python)編寫程式碼。

KSQL的兩個核心概念是流(Stream)和表(Table),整合流和表,允許將代表當前狀態的表與代表當前發生事件的流連線在一起。

圖片描述
KSQL專案架構

事實上,KSQL與關係型資料庫中的SQL還是有很大不同的。傳統的SQL都是即時的一次性操作,不管是查詢還是更新都是在當前的資料集上進行。KSQL的查詢和更新是持續進行的,而且資料集可以源源不斷地增加。簡言之,KSQL所做的其實是轉換操作,也就是流式處理。

雖然專案基於Apache 2.0協議開源,但目前還處於開發者預覽階段,不建議用於生產叢集中。在可預料的條件下,KSQL在實時監控、安全檢測、線上資料整合、應用開發等場景擁有極大的潛力。

  • 實時監控:通過KSQL自定義業務層面的度量指標,可以實時獲得。底層的度量指標無法告訴使用者應用程式的實際行為,所以基於應用程式生成的原始事件來自定義度量指標可以更好地瞭解應用程式的執行狀況。另外,可以通過KSQL為應用程式定義某種標準,用於檢查應用程式在生產環境中的行為是否達到預期;
  • 安全檢測:KSQL把事件流轉換成包含數值的時間序列資料,通過視覺化工具把這些資料展示在UI上,可以檢測到很多威脅安全的行為,比如欺詐、入侵等等;
  • 線上資料整合:大部分的資料處理都會經歷ETL過程,而這樣的系統通常都是通過定時的批次作業來完成資料處理的,但批次作業所帶來的延時在很多時候是無法被接受的。通過使用KSQL和Kafka聯結器,可以將批次資料整合轉變成線上資料整合;
  • 應用開發:對於複雜應用來說,使用Kafka的原生Streams API或許更合適。不過對於簡單應用,或者對於不喜歡Java程式設計的人來說,KSQL會是更好的選擇。

未來,專案計劃增加更多的特性,包括支援更豐富的SQL語法,讓KSQL成為生產就緒的系統。相信KSQL為處理Kafka資料而提供的簡單完整的可互動式SQL介面,能夠降低流式處理的門檻。

資料為上,方得始終。更多精彩,歡迎關注CSDN大資料公眾號!

圖片描述

相關推薦

KSQL用於Apache Kafka資料SQL引擎

Apache Kafka是一個分散式的、分割槽的、多複本的日誌提交服務,使用Scala編寫,以可水平擴充套件和高吞吐率而被廣泛使用。Kafka最初是由LinkedIn開發,並於2011年初開源,目標是為實時資料處理提供一個統一、高通量、低等待的平臺。目前,越來越

基於C#的簡單http伺服器用於多臺工控機資料的監控

      最近工作在公司有這麼一個需求:在公司車間有多臺電腦執行著視覺檢測程式,我們在辦公室的時候需要清楚車間程式的執行狀態(比如NG率等等)。 需求分析:多臺電腦的資料上傳到一臺電腦,那麼需要一臺伺服器,上傳的資料可以被多個人看到,最好是以網頁的形式,誰都可以訪問。這個

KSQLApache Kafka的開源流式SQL

SQL KSQL是一個用於Apache katkatm的流式SQL引擎。KSQL降低了進入流處理的門檻,提供了一個簡單的、完全交互式的SQL接口,用於處理Kafka的數據。你不再需要用Java或Python這樣的編程語言編寫代碼了!KSQL是開源的(Apache 2.0許可)、分布式的、可擴展的、

KSQL介紹:面向Apache Kafka的開源Streaming SQL引擎

我非常高興地宣佈KSQL,這是面向Apache Kafka的一種資料流SQL引擎。KSQL降低了資料流處理這個領域的准入

Streaming SQL for Apache Kafka

接管 進行 ror 生產 cpu conf 傳輸 遇到 例子 KSQL是基於Kafka的Streams API進行構建的流式SQL引擎,KSQL降低了進入流處理的門檻,提供了一個簡單的、完全交互式的SQL接口,用於處理Kafka的數據。 KSQL是一套基於Apac

饒軍:Apache Kafka的過去現在和未來

工作 依賴 領域 格式 apach 社區 想象 按順序 一個用戶 歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐幹貨哦~ 本文首發在雲+社區,未經許可,不得轉載。 大家好,我大概簡單的介紹一下,我叫饒軍,我是矽谷的初創公司Con?uent的聯合創始人之一,我們公司的

SQL server 中while迴圈的使用方法將day表的資料累加到sum表

       因為在保險行業工作,在統計資料的時候會遇到將每天的資料累加起來作為年累計的資料落到sum表中。涉及公司的機密就不把實際的表結構和資料展示,我重新建立一些測試表來說明while迴圈的神奇之處,day的資料累加到sum表中。 一、準備資料表t

Apache Kafka不適用於Event Sourcing

     前段時間著手分散式事務,初布研究方向是基於訊息匯流排事件資料一致性方案,訊息匯流排考慮到之前應用的rabbitMQ,但想到分散式事務鎖機制zookeeper有很好的實現,同時Kafka也是基於zookeeper實現的訊息佇列機制,最近正好看到這相關博文,特此引

SQL與eclipse的連線從資料庫讀取表資料將二維陣列資料匯入表

示例: import java.util.List; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; impor

SQL 用於各種資料庫的資料型別(轉載) sqlserver 資料型別 取值範圍 長度

SQL 用於各種資料庫的資料型別 來源 http://www.runoob.com/sql/sql-datatypes.html    面向資料庫程式設計中,資料型別的取值範圍、長度,可能是需要經常檢視的資料。 Microsoft Access、MySQL 和 SQL S

不要老盯著儲存儲存的價值在於資料:Filenet

前言:近期,部分原IPFS開發者發起的共享儲存Filenet.io組織,推出了全新的IPFS激勵層Filenet,本著網際網路的本質是“流量”而不是儲存的理念,提出了全球首創的“檢索分發挖礦”口號,讓人不禁想起了年初ENU牛油果專案。 我的觀點:Filecoin很牛,但是區塊鏈的儲存如果僅僅停留

資料之Spark(六)--- Spark Streaming介紹DStreamReceiverStreamin整合KafkaWindows容錯的實現

一、Spark Streaming介紹 ----------------------------------------------------------- 1.介紹 是spark core的擴充套件,針對實時資料的實時流處理技術 具有可擴充套件、高吞吐量、

建庫建表新增資料 SQL命令

  create database ssm default character set utf8; use ssm; create table flower( id int(10) primary key auto_increment comment'編號', name

資料分析中sql基本使用思路是什麼如何培養自己的資料分析思維?

在資料分析行業中,離不開資料分析軟體以及相應的思維資料分析中,需要用很多的軟體去進行資料分析,很多人會使用Excel表格並且用Excel表格進行分析資料,但是Excel不適合分析大量的資料,如果使用Excel強行分析資料的話,就會顯得力不從心。不過,資料庫可以解決這個問題,很多企業都會使用sql進行儲存資

Apache Impala 3.1.0 釋出高效能的分散式 SQL 引擎

   Apache Impala 3.1.0 已釋出,暫未發現更新內容的介紹,點此保持關注。 下載地址: https://impala.apache.org/downloads.html   Apache Impala 是一個高效能分散式

sql語句查詢資料庫結果集為json資料以供前端、後臺使用

分析: 查詢結果轉換成json需要經過兩個步驟,首先將查詢結果轉成XML資料,然後通過XML資料轉成json。程式碼如下,程式碼部分來源於網路。 一、將查詢結果轉成XML資料 //其中@PSQL 為要查詢的語句,@XML XML格式資料,@XMLStr

SQL正在擊敗NoSQL這對未來的資料意味著什麼

經過多年的沉寂之後,今天的SQL正在復出。緣由如何? 這對資料社群有什麼影響? 自從可以利用計算機做事以來,我們一直在收集的資料以指數級的速度在增長,因此對於資料儲存、處理和分析技術的要求也越來越高。在過去的十年裡,由於SQL無法滿足這些要求,軟體開發人員就拋棄了它

STM32上使用的環形FIFO佇列用於快取待發送資料

C語言實現的環形FIFO佇列,用於執行緒非同步通訊,資料傳送非常方便,比如GPRS傳送資料,一個執行緒將資料寫入到FIFO,傳送執行緒不停的從FIFO中讀取資料,然後傳送,又比如上位機中,資料接收執行緒不停的接收資料,寫入到FIFO,另一個非同步的處理執行緒不停的讀取資料,進

資料結構 C描述】設計一個演算法用於檢測給定的字串是否為對稱串。

【資料結構 C描述】設計一個演算法,用於檢測給定的字串是否為對稱串。 所謂對稱串,就是字串從左往右讀和從右往左讀的序列一樣。 例如: abccba是對稱串。 abcabc不是對稱串。 //main.cpp #include <iostream> #include

action提交form表單用於登入請求servlet接收資料

今天發現登入需要用action提交form表單,然後通過後臺決定跳轉是否成功安全性較高。之前使用前端location.href來實現跳轉,安全性很低,被測試部門打回重做。 action總結: html寫法: <form id="signin-form_id" met