999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spark+Flask的大數(shù)據(jù)可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*

2022-12-06 04:06:24王源陳智勇
科學(xué)與信息化 2022年22期
關(guān)鍵詞:圖表可視化語(yǔ)言

王源 陳智勇

廣州理工學(xué)院 廣東 廣州 510540

引言

大數(shù)據(jù)技術(shù)引發(fā)各行各業(yè)的深刻變革,并已提升為國(guó)家戰(zhàn)略,處于快速發(fā)展的大數(shù)據(jù)技術(shù)浪潮中,新技術(shù)的涌現(xiàn)層出不窮,Hadoop和Spark等開(kāi)發(fā)框架已成為其中的代表。在離線大數(shù)據(jù)處理領(lǐng)域,Hadoop已然成為主流的應(yīng)用開(kāi)發(fā)平臺(tái),并在企業(yè)開(kāi)發(fā)實(shí)踐中得到了廣泛的應(yīng)用[1]。同時(shí),由于Hadoop的MapReduce計(jì)算模型延遲過(guò)高,很難適應(yīng)ms速度級(jí)的實(shí)時(shí)高速運(yùn)算要求,而只能適用于離線批處理場(chǎng)景。Spark采用先進(jìn)的計(jì)算引擎,并支持循環(huán)數(shù)據(jù)流和內(nèi)存運(yùn)算,其響應(yīng)靈敏度相較于Hadoop有了大幅度的提升,并迅速獲得了學(xué)界與業(yè)界的廣泛關(guān)注與應(yīng)用,Spark已逐漸發(fā)展成為大數(shù)據(jù)領(lǐng)域最熱門(mén)的計(jì)算平臺(tái)之一。

1 大數(shù)據(jù)可視化技術(shù)分析

1.1 Spark流計(jì)算框架

Spark采用基于內(nèi)存與DAG的計(jì)算模型及任務(wù)調(diào)度機(jī)制,能有效減少內(nèi)存I/O開(kāi)銷,使得任務(wù)響應(yīng)更為靈敏。同時(shí)Spark完美兼容Python、Java、Scala、R等編程語(yǔ)言,豐富的接口支持大大降低了開(kāi)發(fā)難度,能提供更高效的編程體驗(yàn)[2]。

Spark專注于數(shù)據(jù)的分析處理,其核心組件包含Spark Core、Spark SQL、Spark Streaming、Stuctured Streaming、MLlib機(jī)器學(xué)習(xí)和GraphX圖計(jì)算等,其中數(shù)據(jù)存儲(chǔ)模塊功能依然要基于Hadoop中的HDFS分布式文件系統(tǒng)Amazon S3等來(lái)實(shí)現(xiàn)。因此,Spark流計(jì)算框架可以完美兼容Hadoop生態(tài)系統(tǒng),從而使現(xiàn)有的Hadoop應(yīng)用程序可以高效遷移到Spark流計(jì)算框架中執(zhí)行。

1.2 Flask

Flask是一個(gè)輕量級(jí)Web應(yīng)用開(kāi)發(fā)框架框架,使用Python語(yǔ)言編寫(xiě),靈活、輕便、安全且容易上手,并可以很好地結(jié)合MVC模式進(jìn)行開(kāi)發(fā),能高效實(shí)現(xiàn)中小型網(wǎng)站開(kāi)發(fā)與Web服務(wù)[3]。此外,F(xiàn)lask具備較強(qiáng)的定制性,開(kāi)發(fā)者可以根據(jù)自己的需求來(lái)添加相應(yīng)的功能,其強(qiáng)大的擴(kuò)展插件庫(kù)可以讓用戶實(shí)現(xiàn)個(gè)性化的網(wǎng)站定制,實(shí)現(xiàn)功能強(qiáng)大的網(wǎng)站開(kāi)發(fā)。

1.3 Python語(yǔ)言

Python語(yǔ)言以其語(yǔ)法簡(jiǎn)單、風(fēng)格簡(jiǎn)約,交互式編程等特點(diǎn),已被學(xué)界業(yè)界廣泛應(yīng)用。由于其開(kāi)源屬性,因此能兼容移植到包括Linux、Windows、Android等主流開(kāi)發(fā)平臺(tái)[4]。作為一門(mén)解釋性語(yǔ)言,Python天生具有跨平臺(tái)的特性,只要平臺(tái)提供相應(yīng)的解釋器,Python都能兼容運(yùn)行,如今Python已廣泛應(yīng)用于科學(xué)計(jì)算、大數(shù)據(jù)、人工智能、云計(jì)算等行業(yè)領(lǐng)域。

1.4 Pyecharts

Pyecharts是百度開(kāi)源的一個(gè)用于生成Echarts圖表的類庫(kù),兼容Python語(yǔ)言,方便源碼數(shù)據(jù)生成圖表,內(nèi)置直觀,生動(dòng),可交互,可個(gè)性化定制的數(shù)據(jù)可視化圖表庫(kù),提供了開(kāi)箱即用的20多種的圖表和十幾種組件[5]。支持響應(yīng)式設(shè)計(jì),提供靈活的配置選項(xiàng)方便開(kāi)發(fā)者定制。有健康的開(kāi)源社區(qū),有API和友好接口文檔。官方提供了很多第三的插件。Pyecharts憑借良好的交互性,精巧的圖表設(shè)計(jì),得到了眾多開(kāi)發(fā)者的認(rèn)可。

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 環(huán)境準(zhǔn)備

本系統(tǒng)采用的軟件集群包括Linux系統(tǒng)Ubuntu18.04LTS、Hadoop-3.1.3、Spark-2.4.0、Python3.7.3、PyCharm2021.02,大數(shù)據(jù)框架采用偽分布式Hadoop集群配置、Spark采用本地模式,便于單機(jī)環(huán)境下運(yùn)行測(cè)試。

2.2 數(shù)據(jù)源獲取

本系統(tǒng)使用的數(shù)據(jù)集來(lái)自美國(guó)數(shù)據(jù)網(wǎng)站Kaggle中的uscounties.csv流感數(shù)據(jù)集,該數(shù)據(jù)集以數(shù)據(jù)表組織,數(shù)據(jù)包含以下字段:

2.3 格式轉(zhuǎn)換

原始數(shù)據(jù)集是以.csv文件組織的,為了方便spark讀取生成RDD或者DataFrame,首先將usa-counties.csv轉(zhuǎn)換為.txt文本格式文件usa-counties.txt。轉(zhuǎn)換操作使用python語(yǔ)言代碼實(shí)現(xiàn),代碼組織在Text.py中:

import pandas as pd

data = pd.read_csv('/home/spark/usa-counties.csv')

with open('/home/spark/us-counties.txt','a+',encoding='utf-8') as f:

for line in data.values:

f.write((str(line[0])+' '+str(line[1])+' '

+str(line[2])+' '+str(line[3])+' '+str(line[4])+' '))

2.4 將獲取的文本文件usa-counties.txt上傳至HDFS文件系統(tǒng)中

使用$./bin/hdfsdfs -put /home/hadoop/us-counties.txt /user/Hadoop命令把本地文件系統(tǒng)的“/home/hadoop/usa-counties.txt”上傳到HDFS文件系統(tǒng)中,具體路徑是“/user/hadoop/usacounties.txt”。

2.5 使用Spark對(duì)數(shù)據(jù)進(jìn)行分析

使用sparkSQL模塊進(jìn)行數(shù)據(jù)分析。由于本實(shí)驗(yàn)中使用的數(shù)據(jù)為結(jié)構(gòu)化數(shù)據(jù),因此可以使用spark讀取源文件生成DataFrame以方便進(jìn)行后續(xù)分析實(shí)現(xiàn)(共計(jì)8個(gè)指標(biāo)參數(shù)),在計(jì)算指標(biāo)參數(shù)過(guò)程中,根據(jù)實(shí)現(xiàn)的難易程度,采用了DataFrame自帶的相關(guān)操作函數(shù),又使用SparkSQL數(shù)據(jù)庫(kù)查詢語(yǔ)言進(jìn)行了處理[6-7]。

#主程序段:

spark = SparkSession.builder.config(conf = SparkConf()).

getOrCreate()

fields = [StructField("date", DateType(),False),StructField("

county", StringType(),False),StructField("state", StringType(

),False),StructField("cases", IntegerType(),False),StructField("

deaths", IntegerType(),False),]

schema = StructType(fields)

rdd0 = spark.sparkContext.textFile("/user/hadoop/usa-counties.

txt")

2.6 結(jié)果文件處理

Spark計(jì)算結(jié)果保存到.json輕量級(jí)數(shù)據(jù)文件中,由于使用Python讀取HDFS文件系統(tǒng)中的數(shù)據(jù)源文件不太方便,故將HDFS上結(jié)果文件轉(zhuǎn)儲(chǔ)到本地Linux文件系統(tǒng)中。

2.7 可視化處理

本系統(tǒng)采用Python第三方庫(kù)pyecharts作為可視化工具,常用的圖表類型包含折線圖、柱形圖、餅圖、散點(diǎn)圖、雷達(dá)圖、詞云圖、統(tǒng)計(jì)地圖等。結(jié)合項(xiàng)目實(shí)際,在此選用詞云圖、象柱狀圖共3類圖表進(jìn)行.html形式的可視化展示。

其次,使用line()函數(shù)繪制折線圖,主要代碼段如下。

Line(init_opts=opts.InitOpts(width="1600px", height="800px"))

.add_xaxis(xaxis_data=date)

.add_yaxis(series_name="",

y_axis=cases,

markpoint_opts=opts.MarkPointOpts(data=[opts.

MarkPointItem(type_="max", name="最大值")])

其次,使用Bar()函數(shù)繪制雙柱狀圖,主要代碼段如下,執(zhí)行效果如圖1所示。

圖1 每日出現(xiàn)癥狀并確診人數(shù)雙柱狀圖

Bar()

.add_xaxis(date)

.add_yaxis("累計(jì)出現(xiàn)癥狀人數(shù)", cases, stack="stack1")

.add_yaxis("累計(jì)確診人數(shù)", deaths, stack="stack1")

.set_series_opts(label_opts=opts.LabelOpts(is_show=False))

.set_global_opts(title_opts=opts.TitleOpts(title="每日累計(jì)

流感人數(shù)"))

.render("/home/hadoop/result/result1/result1.html"))

從圖1分析可知,出現(xiàn)癥狀與確診人數(shù)相近度很高,說(shuō)明確診率很高,該疾病處于高發(fā)期,雙柱狀圖能通過(guò)對(duì)比分析雙柱的分離度或者相近度,有效推導(dǎo)兩者之間的關(guān)聯(lián)程度。

最后使用WordCloud()繪制詞云圖,主要代碼段如下;

WordCloud()

.add("", data, word_size_range=[20, 100], shape=SymbolType.DIAMOND)

.set_global_opts(title_opts=opts.TitleOpts(title="美國(guó)各州確診Top10"))

.render("/home/hadoop/result/result4/result1.html"))

從圖2分析可知,紐約、新澤西、加利福尼亞、馬里蘭州、伊利諾伊州、馬薩諸塞州等地區(qū)屬于疾病高發(fā)區(qū),可以對(duì)排名前三地區(qū)進(jìn)行進(jìn)一步的關(guān)聯(lián)構(gòu)建,探索疾病的傳播路徑。

圖2 各州確診人數(shù)詞云圖

3 結(jié)束語(yǔ)

本文運(yùn)用主流大數(shù)據(jù)開(kāi)發(fā)技術(shù)(Spark流處理引擎、HDFS分布式文件系統(tǒng)、RDD 彈性分布式數(shù)據(jù)集等)進(jìn)行流數(shù)據(jù)處理分析,并使用Pyecharts可視化工具實(shí)現(xiàn)了圖表展示,設(shè)計(jì)過(guò)程涉及大數(shù)據(jù)采集預(yù)處理、分析與數(shù)據(jù)挖掘、可視化處理等步驟,構(gòu)建了完整的流數(shù)據(jù)分析處理框架,突出了大數(shù)據(jù)開(kāi)發(fā)的實(shí)際項(xiàng)目應(yīng)用,為用戶利用Spark等大數(shù)據(jù)平臺(tái)進(jìn)行數(shù)據(jù)處理提供了一個(gè)較為完整的參照模板。

猜你喜歡
圖表可視化語(yǔ)言
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
語(yǔ)言是刀
文苑(2020年4期)2020-05-30 12:35:30
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
讓語(yǔ)言描寫(xiě)搖曳多姿
累積動(dòng)態(tài)分析下的同聲傳譯語(yǔ)言壓縮
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
主站蜘蛛池模板: 色悠久久久久久久综合网伊人| 欧美国产综合色视频| 91系列在线观看| 久久亚洲国产一区二区| 国产主播喷水| 国产精品福利尤物youwu| 日韩免费毛片视频| 中文天堂在线视频| 欧美精品1区| 五月婷婷精品| 一本大道香蕉中文日本不卡高清二区 | 老色鬼久久亚洲AV综合| 在线亚洲精品自拍| 熟妇无码人妻| 亚洲国产成人精品无码区性色| 中文字幕第1页在线播| 亚洲二区视频| 国产高潮视频在线观看| 天堂网亚洲综合在线| 在线欧美国产| 国产成人福利在线| 青草视频网站在线观看| 亚洲AV电影不卡在线观看| 色综合五月婷婷| 亚洲综合经典在线一区二区| 日韩一二三区视频精品| 成年片色大黄全免费网站久久| 久久亚洲国产视频| 国产爽歪歪免费视频在线观看| 国产精彩视频在线观看| 噜噜噜综合亚洲| 国产成人亚洲毛片| 国产91色在线| 欧美影院久久| 8090午夜无码专区| 高清无码手机在线观看 | 国产欧美精品专区一区二区| 毛片一区二区在线看| 99re在线视频观看| 欧美特级AAAAAA视频免费观看| 欧美伦理一区| a欧美在线| 一边摸一边做爽的视频17国产| 最新国语自产精品视频在| 成人在线观看不卡| 欧美啪啪网| 国产在线观看一区精品| WWW丫丫国产成人精品| 爱爱影院18禁免费| 亚洲一区精品视频在线| 亚洲精品免费网站| 囯产av无码片毛片一级| 亚洲精品动漫| 欧美日韩综合网| 日韩精品免费一线在线观看| 一级片免费网站| 国产另类视频| 久热99这里只有精品视频6| 亚洲AV无码乱码在线观看代蜜桃| 精品国产香蕉在线播出| 国产香蕉国产精品偷在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲av日韩av制服丝袜| 亚洲精品人成网线在线| 五月激情婷婷综合| 伊人婷婷色香五月综合缴缴情| 影音先锋丝袜制服| 国产大片喷水在线在线视频| 精品一区二区三区自慰喷水| 综合色88| 久久人妻xunleige无码| 精品一区二区三区自慰喷水| 国产最爽的乱婬视频国语对白| 久久人妻xunleige无码| 亚洲综合九九| 欧美国产综合色视频| 国产剧情国内精品原创| 中文字幕欧美日韩| 日韩第九页| 国产精品网曝门免费视频| 国产99免费视频| 国产成人无码久久久久毛片|