日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
大數(shù)據(jù)領域常用的Kafka、ON和數(shù)據(jù)庫簡介(kafkajson數(shù)據(jù)庫)

隨著信息化和網(wǎng)絡化程度的加深,大數(shù)據(jù)技術已經(jīng)走進我們的生活和工作之中。而在大數(shù)據(jù)技術中,Kafka、ON和數(shù)據(jù)庫無疑是非常重要和常用的技術工具。本文將分別介紹它們的概念、特點以及使用方法。

一、Kafka

1.概念

Kafka是一種開源的分布式流處理平臺,由Apache基金會開發(fā)。它是一個高吞吐量、低延遲的消息傳遞系統(tǒng),用于處理實時數(shù)據(jù)流。Kafka將數(shù)據(jù)以流的形式發(fā)布和訂閱,為數(shù)據(jù)提供高可用性,可擴展性和可快速部署的特性。

2.特點

Kafka有以下特點:

(1)多分區(qū)支持。Kafka中的數(shù)據(jù)分為topic、partitions、messages三個概念。在Kafka中,消息被分配到不同的partitions中,每個partition在不同的broker上被維護。

(2)高吞吐量。Kafka能處理的消息數(shù)達到每秒上萬條,同時保持低延遲和高可用性。

(3)可擴展性?;诜植际接嬎愕募軜嬙O計,Kafka能夠支持水平擴展,提高處理能力。

(4)消息持久化。在Kafka中,消息被保存在硬盤中,保證了可靠性和持久性。

3.使用方法

Kafka的使用方法包括以下幾步:

(1)安裝配置Kafka服務器。

(2)創(chuàng)建topics,指定partitions數(shù)量。

(3)生產(chǎn)者將消息推送到topic。

(4)消費者從topic中獲取消息。

二、ON

1.概念

ON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,可以方便地在應用程序中進行解析和生成。ON格式被設計為具有易讀性,以及有效的機器和人類可讀交互性,并且易于編寫和解析。

2.特點

ON有以下特點:

(1)簡潔。ON格式為純文本,易于編寫和閱讀。

(2)可讀性高。ON格式具有良好的易讀性和可視化效果。

(3)可嵌套。ON格式的元素可以嵌套,構成一個綜合的數(shù)據(jù)結構。

(4)可擴展。ON格式可以根據(jù)需求擴展新增屬性和方法。

3.使用方法

ON的使用方法包括以下幾步:

(1)創(chuàng)建一個需要轉換的ON對象。

(2)把ON對象序列化成ON字符串。

(3)把ON字符串傳輸?shù)搅硪粋€系統(tǒng)。

(4)把ON字符串反序列化成ON對象。

(5)根據(jù)需求,對ON對象進行解析。

三、數(shù)據(jù)庫

1.概念

數(shù)據(jù)庫是一種組織和存儲數(shù)據(jù)的軟件,用于管理和維護大量有組織的數(shù)據(jù)。數(shù)據(jù)庫可以被視為一個文件庫,可以存儲和操作各種數(shù)據(jù),如數(shù)字、聲音、圖像等。

2.特點

數(shù)據(jù)庫有以下特點:

(1)可持久化。數(shù)據(jù)庫中的數(shù)據(jù)可以長期存儲,不會因為電腦重啟或程序結束而消失。

(2)高效性。數(shù)據(jù)庫可以實現(xiàn)高性能的數(shù)據(jù)訪問,能夠高速處理大量數(shù)據(jù)。

(3)可拓展?;诜植际接嬎愕募軜嬙O計,數(shù)據(jù)庫能夠支持水平擴展,提高處理能力。

(4)安全性。數(shù)據(jù)庫提供了嚴格的權限管理和多層次安全保護,防止數(shù)據(jù)被非法訪問。

3.使用方法

數(shù)據(jù)庫的使用方法包括以下幾步:

(1)創(chuàng)建一個數(shù)據(jù)庫管理系統(tǒng)。

(2)創(chuàng)建一個數(shù)據(jù)庫。

(3)創(chuàng)建一個表格,并定義其結構和屬性。

(4)向表格中添加數(shù)據(jù)。

(5)進行數(shù)據(jù)查詢和修改。

綜上所述,Kafka、ON和數(shù)據(jù)庫是大數(shù)據(jù)領域中非常重要和常用的工具。它們各有不同的特點和優(yōu)勢,可以幫助我們更好地處理大量的數(shù)據(jù),提高工作效率和數(shù)據(jù)管理能力。在實際應用中,需要根據(jù)需求選擇合適的工具,并學習其使用方法和技巧。

相關問題拓展閱讀:

  • clickhouse與kafka集成

clickhouse與kafka集成

clickhouse支持與多種存儲引擎集成,可以從集成的引擎里面讀取消息,然后寫到真正的數(shù)據(jù)存儲表里。

clickhouse批量寫入則老李的性能比較好,我們的業(yè)務場景下會大批量的產(chǎn)生數(shù)據(jù),如果使用clickhouse-jdbc去寫的,寫入時機和每批次寫入的數(shù)量不好把控,最終選擇了先將消息寫入kafka,然后由clickhouse從kafka消孫遲費數(shù)據(jù),clickhouse server消費到數(shù)據(jù)之后寫入真正的數(shù)據(jù)表。

clickhouse集成kafka引擎見官方文檔:

下面的介紹會與官方文檔有重復,然后補充一些集成過程中遇到的坑。

下面介紹clickhouse與kafka集成的步驟,clickhouse版本是22.1.3.7

必要參數(shù)

可選參數(shù)

關于必選參數(shù)中的kafka_format參數(shù),參見Formats部分,format具體解釋如下

。

ONEachRow, ONStringsEachRow, ONCompactEachRow, ONCompactStringsEachRow

這幾種格式,ClickHouse會將行輸出為用換行符分隔的ON值,這些輸出數(shù)據(jù)作為一個整體時,由于沒有分隔符(,)因而不是有效的ON文檔。

官方文檔給了一些示例。

由于我的真實的數(shù)據(jù)表,有一個字段是json類型的字符串,但是一開始設置kafka_format的類型為ONEachRow時,從kafka消費數(shù)據(jù)會報錯,所以kafka_format格式設置成了ONAsString,具體的錯誤后面貼出來。

創(chuàng)建kafka引擎表,用于從kafka消費數(shù)據(jù)

由于我的數(shù)據(jù)結構里有嵌套json,如果使用ONEachRow,有個字段是json類型的字符串,帶轉義字符,導致clickhouse解析失敗,沒找到解決辦法,所以使用了ONAsString格式。

一個簡單的MergeTree引擎的表,其中content是json格式的字符串。

創(chuàng)建的物化視圖用于把從kafka消費到的數(shù)據(jù),寫到真實的數(shù)據(jù)表里,在這個例子里,msg_json_source從kafka消費到數(shù)據(jù),然后通過物化視圖msg_json_source_consumer將消費到的數(shù)據(jù)寫到真實的數(shù)據(jù)表msg_target中。

由于從kafka消費到的數(shù)據(jù)就是一個json字符串,在這里使用ONExtractString等json字段提取工具,提取msg里的字段,比如biz,sender_id,content等字段。

status_time原本計劃用DatTime64類型的,但是這個時間格式有坑,最終選擇了使用UInt64存毫秒級時間戳,具體的問題下面再介紹。

在clickhouse創(chuàng)建好3張表之后(kafka引擎表,真實數(shù)據(jù)表,物化視圖表),往kafka發(fā)消息

本地安裝一個簡易的kafka服務端,然后創(chuàng)建topic

創(chuàng)建好topic之后,使用Java客戶端往kafka發(fā)消息,使用confluent client發(fā)也可以。

添加kafka依賴

實體類,使含搭用fastjson的@ONField注解,實體類轉字符串的時候,將駝峰轉換為下劃線

測試類

最終發(fā)送完,我們查看一下clickhouse里的數(shù)據(jù)表的數(shù)據(jù),可以發(fā)現(xiàn)我們發(fā)送到kakfa里的數(shù)據(jù),已經(jīng)成功的消費,并且寫入到真實的數(shù)據(jù)表里了。

當時測試環(huán)境部署的版本是21.9,但是這個版本有問題,不推薦安裝,建議直接部署22以上的clickhouse

我一開始就是使用的ONEachRow格式,但是我的消息體里還有嵌套的json,類似下面這種格式,里面有個字段還是個json,轉行成字符串帶轉義字符。

然后消息體的string字符串貼一條在這里

然后clickhouse解析消息體報錯,當時的錯找不到了,現(xiàn)在復現(xiàn)不出來了,非常的難頂。。。。

后來因為趕版本的原因把kafka_format換成了ONAsString。

clickhouse是支持DateTime64格式的,可以到毫秒級,但是實際使用過程中卻有些坑在,

首先是有的客戶端解析毫秒字符串有問題,其次是使用ONExtract*的方法,會有差異,再然后是jdbc查詢的時候,也會導致時間查詢有問題。

拿毫秒時間戳和秒級時間戳做試驗,clickhouse-server版本是22.3.1.1

把上面的kafka引擎表拿出來改一下

其中status_time這個字段的類型改成DateTime64(3, ‘Asia/Shanghai’),使用ONExtractUInt提取時間,看下效果

首先發(fā)條數(shù)據(jù),數(shù)據(jù)內(nèi)容如下

傳入的是毫秒級時間戳,然后數(shù)據(jù)表存儲的時候就變成了2282年

然后如果傳入秒級的時間戳,真實的數(shù)據(jù)是這樣

clickhouse存儲的時候看著時間正常了,但是毫秒丟失了

然后修改一下物化視圖的字段提取方式,之前是 ONExtractUInt(msg,’status_time’) as status_time,現(xiàn)在改成使用 ONExtractString(msg,’status_time’) as status_time提取時間

會發(fā)現(xiàn)時間類型又正常了。

這一條數(shù)據(jù)內(nèi)容如下

最終使用ONExtractString提取毫秒時間戳,得到了正確的DateTime64的時間,非常的神奇

最終我決定來了個釜底抽薪的方法,時間直接用UInt64存,因為我發(fā)送出去的數(shù)據(jù)是毫秒級時間戳,最終存時間戳,查詢時間范圍的時候直接用long類型的數(shù)據(jù)between好了。

這也是無奈之舉,萬一哪天server更新版本,導致時間出現(xiàn)問題,那就完蛋了,希望后面時間可以穩(wěn)定一點吧。

kafka json 數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于kafka json 數(shù)據(jù)庫,大數(shù)據(jù)領域常用的Kafka、ON和數(shù)據(jù)庫簡介,clickhouse與kafka集成的信息別忘了在本站進行查找喔。

香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。


當前題目:大數(shù)據(jù)領域常用的Kafka、ON和數(shù)據(jù)庫簡介(kafkajson數(shù)據(jù)庫)
轉載來于:http://www.dlmjj.cn/article/ccsheph.html