女生裸体视频一区二区三区_久久久久九九九_美日韩精品视频_欧美日韩亚洲一区二区三区在线_激情成人亚洲_亚洲一区自拍_日韩亚洲精品在线_国产精品入口66mio_亚洲在线日韩_久久亚洲二区

美林?jǐn)?shù)據(jù)
ABOUT US
美林?jǐn)?shù)據(jù)技術(shù)股份有限公司(簡稱:美林?jǐn)?shù)據(jù),NEEQ:831546)是國內(nèi)知名的數(shù)據(jù)治理和數(shù)據(jù)分析服務(wù)提供商。

Spark讀取kafka復(fù)雜嵌套json的最佳實踐,與其在大數(shù)據(jù)分析平臺中的應(yīng)用

2022-09-16 18:54:00
隨著互聯(lián)網(wǎng)的更進(jìn)一步發(fā)展,信息瀏覽、搜索以及電子商務(wù)、互聯(lián)網(wǎng)旅游生活產(chǎn)品等將生活中的流通環(huán)節(jié)在線化,對于實時性的要求進(jìn)一步提升,而信息的交互和溝通正在從點對點往信息鏈甚至信息網(wǎng)的方向發(fā)展,這樣必然帶來數(shù)據(jù)各個維度的交叉關(guān)聯(lián),數(shù)據(jù)爆炸也不可避免,因此流式處理應(yīng)運而生,解決實時框架問題,助力大數(shù)據(jù)分析
kafka是一個高性能的流式消息隊列,適用于大數(shù)據(jù)場景下的消息傳輸、消息處理和消息存儲,kafka可靠的傳遞能力讓它成為流式處理系統(tǒng)完美的數(shù)據(jù)來源,很多基于kafka構(gòu)建的流式處理系統(tǒng)都將kafka作為唯一可靠的數(shù)據(jù)來源。如Apache Storm、 Apache Spark Streaming 、Apache Flink 、Apache Samza 等。
json是kafka消息中比較常見的格式,對于單層json數(shù)據(jù)的讀取和解析相對簡單,但是在真實kafka流程處理的業(yè)務(wù)中,很多情況下都是json嵌套復(fù)雜格式消息。Spark1.1以后的版本存在一些實用的 SparkSQL函數(shù),幫助解決復(fù)雜的json數(shù)據(jù)格式,實用函數(shù)包括get_json_object、from_json和explode等。
01、Spark框架中的基本概念和內(nèi)置函數(shù)
? RDD:Spark的基本計算單元,它是一個彈性可復(fù)原的分布式數(shù)據(jù)集。
? Dataframe:定義為指定到列的數(shù)據(jù)集(Dataset)。DFS類似于關(guān)系型數(shù)據(jù)庫中的表或者像R/Python 中的Dataframe ,可以說是一個具有良好優(yōu)化技術(shù)的關(guān)系表。
? Spark SQL:它是Spark的其中一個模塊,用于結(jié)構(gòu)化數(shù)據(jù)處理,Spark SQL提供的接口為Spark提供了有關(guān)數(shù)據(jù)結(jié)構(gòu)和正在執(zhí)行的計算的更多信息,Spark SQL會使用這些額外的信息來執(zhí)行額外的優(yōu)化。
? from_json:Spark SQL內(nèi)置的函數(shù),從一個json 字符串中按照指定的schema格式抽取出來作為DataFrame的列,第一個參數(shù)為列名,以$"column_name"表示,第二個參數(shù)為定義的數(shù)據(jù)結(jié)構(gòu)
Spark框架中的基本概念
? get_json_object:Spark SQL內(nèi)置的函數(shù),從一個json字符串中根據(jù)指定的json路徑抽取一個json對象,第一個參數(shù)為column名,用$"column_name"表示,第二個參數(shù)為要取的json字段名,"$.字段名"表示。
Spark框架中的基本概念
? explode:Spark SQL內(nèi)置的函數(shù),可以從規(guī)定的Array或者M(jìn)ap中使用每一個元素創(chuàng)建一列,主要用于數(shù)組數(shù)據(jù)的展開,參數(shù)為column名,用$"column_name"表示。
 Spark框架中的基本概念
02、Kafka復(fù)雜嵌套json解析
1)什么是復(fù)雜json?
json是一種輕量級的數(shù)據(jù)交換標(biāo)準(zhǔn),具體以逗號分隔的key:value鍵值對的串形式,主要表現(xiàn)形式包括兩種:{對象},[數(shù)組],其中key以字符串表達(dá),value包括字符串、數(shù)值、boolean值、對象和數(shù)組(可嵌套)。在復(fù)雜的json數(shù)據(jù)格式中,通常json數(shù)據(jù)會有嵌套,每個層級的結(jié)構(gòu)不完全相同,value中不同類型進(jìn)行混合使用。
下圖為一份簡單json格式數(shù)據(jù):
json格式數(shù)據(jù)
期望處理的結(jié)果為下圖的二維表,json串中的key(id,sepallength,sepalwidth,
petallength,petalwidth,label)作為二維表的列,value作為表的一行數(shù)據(jù)。
json格式數(shù)據(jù)
下圖為一份復(fù)雜json格式數(shù)據(jù):
復(fù)雜json格式數(shù)據(jù)
期望處理的結(jié)果為下圖的二維表,json串中單層key(id,createTime,deviceCode)和需要展開的數(shù)組trajectory中單個元素key(x,y)作為二維表的列,value是將數(shù)組trajectory中所有的元素展開成多行后,與其他列的數(shù)據(jù)進(jìn)行對齊。
json格式數(shù)據(jù)
2)整體思路
Kafka消費者收到復(fù)雜嵌套json消息后,一共有兩步。
第一步:首先把這批json字符消息轉(zhuǎn)換成分布式數(shù)據(jù)集RDD[String]中,再將RDD[String]轉(zhuǎn)換成列名為`json`的DataFrame,然后通過Spark SQL內(nèi)置函數(shù)get_json_object將json對象中的`id`、`createTime`、`deviceCode`、`data.trajectory`分別生成新列,并構(gòu)建一個包含這些列的新DataFrame;
第二步:獲取需要展開的列`data.trajectory`的schema(元數(shù)據(jù)信息),然后由SparkSQL內(nèi)置函數(shù)from_json將列`data.trajectory`的字符內(nèi)容轉(zhuǎn)換成數(shù)組對象,最后通過SparkSQL內(nèi)置函數(shù)explode將`data.trajectory`中的數(shù)組中每個元素展開成多行。
基于spark解析復(fù)雜json流程設(shè)計圖:
復(fù)雜json流程設(shè)計圖
3)Spark讀取kafka復(fù)雜json消息解析核心代碼
json格式數(shù)據(jù)如果使用現(xiàn)有的工具,用戶常常需要開發(fā)出復(fù)雜的程序來讀寫分析系統(tǒng)中的json數(shù)據(jù),Spark SQL對json數(shù)據(jù)的支持是從1.1版本開始發(fā)布,并且在Spark 1.2版本中進(jìn)行了加強(qiáng)。
下圖的代碼是通過Spark SQL內(nèi)置的json函數(shù)將復(fù)雜json轉(zhuǎn)換成一張二維表,并支持將json中數(shù)組數(shù)據(jù)進(jìn)行展開處理。
json函數(shù)
4)kafka復(fù)雜json解析在Tempo AI中的應(yīng)用
Tempo AI機(jī)器學(xué)習(xí)平臺將kafka數(shù)據(jù)作為數(shù)據(jù)挖掘分析標(biāo)準(zhǔn)數(shù)據(jù)源,既支持簡單的json解析,也支持復(fù)雜json解析,先進(jìn)行基礎(chǔ)配置讀取消息數(shù)據(jù),查看消息內(nèi)容,然后進(jìn)行映射配置,將數(shù)據(jù)內(nèi)容與對應(yīng)元信息進(jìn)行匹配,最后可以預(yù)覽數(shù)據(jù)內(nèi)容。
基礎(chǔ)配置,包括連接配置和消息信息配置,如下圖所示:
json解析在Tempo AI中的應(yīng)用
在“消息內(nèi)容”頁面,查看提取的單條Kafka消息內(nèi)容,如下圖:
json解析在Tempo AI中的應(yīng)用
在“映射配置”頁面,根據(jù)左側(cè)預(yù)覽的消息內(nèi)容,通過點擊選擇左側(cè)的消息到右側(cè),進(jìn)行映射配置,可以設(shè)置需要展開的數(shù)組,如下圖:
json解析在Tempo AI中的應(yīng)用
 kafka輸入節(jié)點配置完成后,執(zhí)行AI流程,查看洞察信息,如下圖所示:
Tempo機(jī)器學(xué)習(xí)平臺運行結(jié)果
綜上,json是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,目前是一種主流的數(shù)據(jù)格式,json字符串作為消息在kafka消息流中傳遞應(yīng)用很廣泛,通過Tempo 機(jī)器學(xué)習(xí)平臺封裝的Spark SQL解析復(fù)雜json的能力,極大簡化了使用json數(shù)據(jù)的終端的相關(guān)工作,使客戶更專注于自己的業(yè)務(wù)。
服務(wù)熱線
400-608-2558
咨詢熱線
15502965860-
美林?jǐn)?shù)據(jù)
微信掃描二維碼,立即在線咨詢
女生裸体视频一区二区三区_久久久久九九九_美日韩精品视频_欧美日韩亚洲一区二区三区在线_激情成人亚洲_亚洲一区自拍_日韩亚洲精品在线_国产精品入口66mio_亚洲在线日韩_久久亚洲二区
亚洲九九精品| 亚洲第一福利一区| 久久成人一区| 国产成a人亚洲| |精品福利一区二区三区| 狂野欧美一区| 99精品久久久久久| 三级在线观看一区二区| 精品久久五月天| 日韩午夜精品| 国产成人精品三级| 亚洲午夜国产一区99re久久| 91精品国产综合久久久久久久| 欧美午夜免费| 久久99精品国产.久久久久久| 中文字幕在线观看一区| 欧美日韩精品欧美日韩精品| 国产一区视频观看| 国产在线播放一区三区四| 中文字幕久久午夜不卡| 欧美性生活久久| 伊人久久大香线蕉av超碰演员| 国产精品中文字幕日韩精品 | 国产精品沙发午睡系列990531| 欧美日韩在线播放三区| 99精品99久久久久久宅男| 国产成人免费视频| 三级影片在线观看欧美日韩一区二区 | 亚洲制服丝袜av| 精品乱人伦小说| 91福利社在线观看| 亚洲巨乳在线| www.欧美精品一二区| 久久国产精品72免费观看| 亚洲免费观看视频| 久久久久久久久岛国免费| 欧美日韩国产综合一区二区三区| 亚洲精品久久久久久一区二区| av不卡一区二区三区| 精品亚洲porn| 日韩制服丝袜av| 成人免费小视频| 久久亚洲一区二区三区明星换脸 | 99久久久久免费精品国产| 久久成人久久鬼色| 亚洲欧洲日夜超级视频| 午夜精品福利久久久| 欧美sm极限捆绑bd| 欧美资源在线| 欧美激情日韩| 久久国产免费看| 亚洲欧美日韩一区二区三区在线观看| 国产一区不卡精品| 日韩电影在线观看一区| 一个色综合av| 国产精品高潮呻吟| 国产欧美一区二区三区鸳鸯浴| 粉嫩一区二区三区在线看 | 美女www一区二区| 亚洲综合久久久| 亚洲美女屁股眼交| 中文字幕日韩av资源站| 欧美激情一区二区| 国产欧美久久久精品影院| 欧美va天堂va视频va在线| 日韩三级免费观看| 91精品国产高清一区二区三区| 欧美性xxxxxx少妇| 欧美色图片你懂的| 欧美午夜不卡视频| 欧美在线观看视频一区二区 | 日韩视频久久| 亚洲日产国产精品| 国产精品久久久一区二区| 9色精品在线| 亚洲欧美卡通另类91av| 亚洲一卡久久| 久久久久免费| 色婷婷精品大在线视频| 色哦色哦哦色天天综合| 色吧成人激情小说| 欧美自拍丝袜亚洲| 欧美精品日韩一本| 日韩精品专区在线影院观看| 精品国产一区久久| 久久久精品蜜桃| 国产精品拍天天在线| 自拍偷拍亚洲欧美日韩| 亚洲欧美另类小说视频| 亚洲一区二区不卡免费| 图片区日韩欧美亚洲| 日本视频免费一区| 欧美91视频| 91麻豆国产在线观看| 99视频精品在线| 成人综合激情网| 国产不卡视频在线播放| 国产999精品久久| 国产精品白丝jk黑袜喷水| 久色婷婷小香蕉久久| 免费人成黄页网站在线一区二区| 一区二区三区在线免费播放| 亚洲欧美影音先锋| 国产精品国产成人国产三级| 国产精品久久久久9999吃药| 欧美日韩视频在线一区二区观看视频| hitomi一区二区三区精品| 欧美色图麻豆| 国产精品一区二区三区免费观看| 色狠狠色噜噜噜综合网| 欧美一区2区视频在线观看| 91影院在线观看| 国产精品大片| 亚欧美中日韩视频| 制服丝袜亚洲色图| 欧美韩国日本一区| 亚洲va在线va天堂| 国产成人精品午夜视频免费| 欧美日韩国产精品一卡| 免费h精品视频在线播放| 欧美日本乱大交xxxxx| 国产午夜精品理论片a级大结局| 亚洲另类在线视频| 精品影视av免费| 欧美日韩系列| 色天天综合色天天久久| 欧美大片在线观看一区| 日韩一区日韩二区| 麻豆成人综合网| 亚洲欧美综合国产精品一区| 欧美亚洲一区二区三区| 日韩欧美电影一二三| 亚洲欧洲综合另类| 国内精品写真在线观看| 欧美天天在线| 欧美在线观看18| 中文字幕一区二区三区av| 麻豆91小视频| 国产一区日韩欧美| 欧美人体做爰大胆视频| 国产精品超碰97尤物18| 狠狠色2019综合网| 亚洲国产一区二区精品专区| 91精品国产麻豆国产自产在线| 亚洲欧美日韩中文字幕一区二区三区 | 最好看的中文字幕久久| 国产综合色产在线精品| 亚洲国产高清视频| 欧美日韩色一区| 亚洲日本在线天堂| 粉嫩一区二区三区性色av| 亚洲一区日韩| 久久久久国产免费免费| 麻豆成人在线观看| 99精品免费网| 亚洲成av人片观看| 丰满亚洲少妇av| 一区二区三区|亚洲午夜| 欧美人牲a欧美精品| 日本一区二区久久| 麻豆一区二区99久久久久| 99精品视频在线免费观看| 亚洲一区二区三区涩| 91精品国产综合久久国产大片| 国产精品不卡一区| 美女在线观看视频一区二区| 91一区二区在线| 色综合久久99| proumb性欧美在线观看| 亚洲在线黄色| 国产精品久久久久久久裸模| 国产成人精品aa毛片| 91黄色在线观看| 有坂深雪av一区二区精品| 97久久精品人人做人人爽50路| 欧美最猛性xxxxx直播| 亚洲国产精品精华液网站| 欧美日韩一区二区三区四区在线观看| 国产精品综合一区二区三区| 老司机精品久久| 亚洲一区欧美一区| 韩国久久久久| 国产日韩欧美精品综合| 不卡一区二区三区四区| 欧美精品成人一区二区三区四区| 亚洲bt欧美bt精品777| 亚洲精品日本| 国产精品色眯眯| 91麻豆国产香蕉久久精品| 日韩亚洲欧美成人一区| 国模大尺度一区二区三区| 在线免费不卡电影| 天天影视色香欲综合网老头| 一区二区日韩免费看| 亚洲免费观看高清| 在线免费日韩片| 国产精品国产a| 极品少妇一区二区三区| 国产精品素人一区二区| 欧美特黄视频|