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

基于Spark+Flask的大數據可視化系統設計與實現*

2022-12-06 04:06:24王源陳智勇
科學與信息化 2022年22期
關鍵詞:圖表可視化語言

王源 陳智勇

廣州理工學院 廣東 廣州 510540

引言

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

1 大數據可視化技術分析

1.1 Spark流計算框架

Spark采用基于內存與DAG的計算模型及任務調度機制,能有效減少內存I/O開銷,使得任務響應更為靈敏。同時Spark完美兼容Python、Java、Scala、R等編程語言,豐富的接口支持大大降低了開發難度,能提供更高效的編程體驗[2]。

Spark專注于數據的分析處理,其核心組件包含Spark Core、Spark SQL、Spark Streaming、Stuctured Streaming、MLlib機器學習和GraphX圖計算等,其中數據存儲模塊功能依然要基于Hadoop中的HDFS分布式文件系統Amazon S3等來實現。因此,Spark流計算框架可以完美兼容Hadoop生態系統,從而使現有的Hadoop應用程序可以高效遷移到Spark流計算框架中執行。

1.2 Flask

Flask是一個輕量級Web應用開發框架框架,使用Python語言編寫,靈活、輕便、安全且容易上手,并可以很好地結合MVC模式進行開發,能高效實現中小型網站開發與Web服務[3]。此外,Flask具備較強的定制性,開發者可以根據自己的需求來添加相應的功能,其強大的擴展插件庫可以讓用戶實現個性化的網站定制,實現功能強大的網站開發。

1.3 Python語言

Python語言以其語法簡單、風格簡約,交互式編程等特點,已被學界業界廣泛應用。由于其開源屬性,因此能兼容移植到包括Linux、Windows、Android等主流開發平臺[4]。作為一門解釋性語言,Python天生具有跨平臺的特性,只要平臺提供相應的解釋器,Python都能兼容運行,如今Python已廣泛應用于科學計算、大數據、人工智能、云計算等行業領域。

1.4 Pyecharts

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

2 系統設計與實現

2.1 環境準備

本系統采用的軟件集群包括Linux系統Ubuntu18.04LTS、Hadoop-3.1.3、Spark-2.4.0、Python3.7.3、PyCharm2021.02,大數據框架采用偽分布式Hadoop集群配置、Spark采用本地模式,便于單機環境下運行測試。

2.2 數據源獲取

本系統使用的數據集來自美國數據網站Kaggle中的uscounties.csv流感數據集,該數據集以數據表組織,數據包含以下字段:

2.3 格式轉換

原始數據集是以.csv文件組織的,為了方便spark讀取生成RDD或者DataFrame,首先將usa-counties.csv轉換為.txt文本格式文件usa-counties.txt。轉換操作使用python語言代碼實現,代碼組織在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文件系統中

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

2.5 使用Spark對數據進行分析

使用sparkSQL模塊進行數據分析。由于本實驗中使用的數據為結構化數據,因此可以使用spark讀取源文件生成DataFrame以方便進行后續分析實現(共計8個指標參數),在計算指標參數過程中,根據實現的難易程度,采用了DataFrame自帶的相關操作函數,又使用SparkSQL數據庫查詢語言進行了處理[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 結果文件處理

Spark計算結果保存到.json輕量級數據文件中,由于使用Python讀取HDFS文件系統中的數據源文件不太方便,故將HDFS上結果文件轉儲到本地Linux文件系統中。

2.7 可視化處理

本系統采用Python第三方庫pyecharts作為可視化工具,常用的圖表類型包含折線圖、柱形圖、餅圖、散點圖、雷達圖、詞云圖、統計地圖等。結合項目實際,在此選用詞云圖、象柱狀圖共3類圖表進行.html形式的可視化展示。

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

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()函數繪制雙柱狀圖,主要代碼段如下,執行效果如圖1所示。

圖1 每日出現癥狀并確診人數雙柱狀圖

Bar()

.add_xaxis(date)

.add_yaxis("累計出現癥狀人數", cases, stack="stack1")

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

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

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

流感人數"))

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

從圖1分析可知,出現癥狀與確診人數相近度很高,說明確診率很高,該疾病處于高發期,雙柱狀圖能通過對比分析雙柱的分離度或者相近度,有效推導兩者之間的關聯程度。

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

WordCloud()

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

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

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

從圖2分析可知,紐約、新澤西、加利福尼亞、馬里蘭州、伊利諾伊州、馬薩諸塞州等地區屬于疾病高發區,可以對排名前三地區進行進一步的關聯構建,探索疾病的傳播路徑。

圖2 各州確診人數詞云圖

3 結束語

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

猜你喜歡
圖表可視化語言
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
讓語言描寫搖曳多姿
累積動態分析下的同聲傳譯語言壓縮
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
主站蜘蛛池模板: 日韩毛片免费观看| 久久毛片网| 成年网址网站在线观看| 久草青青在线视频| 18黑白丝水手服自慰喷水网站| 国产欧美自拍视频| 亚洲无码高清一区| 婷婷综合亚洲| 亚洲日本在线免费观看| 精品国产香蕉伊思人在线| 91小视频版在线观看www| 亚洲色图欧美视频| 免费国产在线精品一区| 精品国产成人av免费| 久久综合伊人77777| 91视频区| 国产精品人莉莉成在线播放| 成人字幕网视频在线观看| 国产亚洲第一页| 黑色丝袜高跟国产在线91| 91亚洲免费视频| 最新国语自产精品视频在| 亚洲精品自拍区在线观看| 国产99视频精品免费视频7| 污污网站在线观看| 操操操综合网| 久久综合色视频| 麻豆国产精品一二三在线观看| 四虎国产精品永久一区| 久久国产成人精品国产成人亚洲| 精品天海翼一区二区| 看看一级毛片| 91啦中文字幕| 日韩亚洲综合在线| 国产拍在线| 日韩区欧美区| 人人91人人澡人人妻人人爽| 亚洲V日韩V无码一区二区 | 久久99精品国产麻豆宅宅| 亚洲综合久久成人AV| 日韩国产一区二区三区无码| 高清无码不卡视频| 91久久国产热精品免费| 精品久久久久无码| 亚洲日本在线免费观看| 欧美另类第一页| 国产亚洲高清在线精品99| 色视频国产| 国产96在线 | 99爱在线| 中文字幕无码制服中字| 国产超碰一区二区三区| 91精品啪在线观看国产| 91免费国产在线观看尤物| 国产亚洲精| 亚洲一区二区三区中文字幕5566| 综合色婷婷| 毛片在线区| 中文字幕无码中文字幕有码在线| 老司机精品一区在线视频| 国产网友愉拍精品视频| 国产在线观看一区精品| 自慰网址在线观看| 亚洲欧美天堂网| 亚洲日韩精品伊甸| 一区二区午夜| 草逼视频国产| 成人国产精品视频频| 高清国产va日韩亚洲免费午夜电影| 国产福利免费观看| 日韩黄色精品| 亚洲成人免费看| 97影院午夜在线观看视频| 全部免费特黄特色大片视频| 超级碰免费视频91| 成年人免费国产视频| 99re精彩视频| 亚洲天堂久久新| 国产青榴视频| 五月婷婷丁香综合| 欧美影院久久| 欧美在线伊人|