這期內容當中小編將會給大家?guī)碛嘘PPython中怎么實現(xiàn)數(shù)據(jù)可視化,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)專注于勐海企業(yè)網站建設,成都響應式網站建設公司,商城網站建設。勐海網站建設公司,為勐海等地區(qū)提供建站服務。全流程按需網站設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
1.成品圖
這個是監(jiān)控服務器網速的***成果,顯示的是下載與上傳的網速,單位為M。爬蟲的原理都是一樣的,只不過將數(shù)據(jù)存到InfluxDB的方式不一樣而已, 如下圖。
可以實現(xiàn)對爬蟲數(shù)量,增量,大小,大小增量的實時監(jiān)控。
2. 環(huán)境
InfluxDb,是目前比較流行的時間序列數(shù)據(jù)庫;
Grafana,一個可視化面板(Dashboard),有著非常漂亮的圖表和布局展示,功能齊全的度量儀表盤和圖形編輯器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作為數(shù)據(jù)源
Ubuntu
influxdb(pip install influxdb)
Python 2.7
3. 原理
獲取要展示的數(shù)據(jù),包含當前的時間數(shù)據(jù),存到InfluxDb里面,然后再到Grafana里面進行相應的配置即可展示;
4. 安裝
4.1 Grafana安裝
官方安裝指導
安裝好以后,打開本地的3000端口,即可進入管理界面,用戶名與密碼都是admin。
4.2 InfulxDb安裝
這個安裝就網上自己找吧,有很多的配置我都沒有配置,就不在這里誤人子弟了。
5. InfluxDb簡單操作
碰到了數(shù)據(jù)庫,肯定要把增刪改查學會了啊, 和sql幾乎一樣,只有一絲絲的區(qū)別,具體操作,大家可以參考官方的文檔。
influx進入命令行
CREATE DATABASE test創(chuàng)建數(shù)據(jù)庫
show databases查看數(shù)據(jù)庫
use test使用數(shù)據(jù)庫
show series看表
select * from table_test選擇數(shù)據(jù)
DROP MEASUREMENT table_test刪表
6. 存數(shù)據(jù)
InfluxDb數(shù)據(jù)庫的數(shù)據(jù)有一定的格式,因為我都是利用python庫進行相關操作,所以下面將在python中的格式展示一下:
其中:
measurement, 表名
time,時間
tags,標簽
fields,字段
可以看到,就是個列表里面,嵌套了一個字典。其中,對于時間字段,有特殊要求,可以參考這里, 下面是python實現(xiàn)方法:
所以,到這里,如何將爬蟲的相關屬性存進去呢?以MongoDB為例
那么現(xiàn)在我們已經往數(shù)據(jù)里存了數(shù)據(jù)了,那么接下來要做的就是把存的數(shù)據(jù)展示出來。
7.展示數(shù)據(jù)
7.1 配置數(shù)據(jù)源
以admin登錄到Grafana的后臺后,我們首先需要配置一下數(shù)據(jù)源。點擊左邊欄的最下面的按鈕,然后點擊DATA SOURCES,這樣就可以進入下面的頁面:
點擊ADD DATA SOURCE,進行配置即可,如下圖:
其中,name自行設定;Type 選擇InfluxDB;url為默認的http://localhost:8086, 其他的因為我前面沒有進行配置,所以默認的即可。然后在InfluxDB Details里的填入Database名,***點擊測試,如果沒有報錯的話,則可以進入下一步的展示數(shù)據(jù)了;
7.2 展示數(shù)據(jù)
點擊左邊欄的+號,然后點擊GRAPH
接著點擊下圖中的edit進入編輯頁面:
從上圖中可以發(fā)現(xiàn):
中間板塊是***的數(shù)據(jù)展示
下面是數(shù)據(jù)的設置項
右上角是展示時間的設置板塊,在這里可以選擇要展示多久的數(shù)據(jù)
7.2.1 配置數(shù)據(jù)
鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術社區(qū)
在Data Source中選擇剛剛在配置數(shù)據(jù)源的時候配置的NAME字段,而不是database名。
接著在下面選擇要展示的數(shù)據(jù)??粗秃苁煜な遣皇牵耆莝ql語句的可視化。同時,當我們的數(shù)據(jù)放到相關的字段上的時候,雙擊,就會把可以選擇的項展示出來了,我們要做的就是直接選擇即可;
設置右上角的時間,則可以讓數(shù)據(jù)實時進行更新與展示
因為下面的配置實質就是sql查詢語句,所以大家按照自己的需求,進行選擇配置即可,當配置完以后,就可以在中間的面板里面看到數(shù)據(jù)了。
8. 總結
到這里,本篇文章就結束了。其中,對于Grafana的操作我沒有介紹的很詳細,因為本篇主要講的是怎么利用這幾個工具完成我們的任務。
同時,里面的功能確實很多,還有可以安裝的插件。我自己目前還是僅僅對于用到的部分比較了解,所以大家可以查詢官方的或者別的教程資料來對Grafana進行更深入的了解,制作出更加好看的可視化作品來。
DATEDIFF
返回跨兩個指定日期的日期和時間邊界數(shù)。
一、 語法
DATEDIFF ( datepart , startdate , enddate )
二、參數(shù)
datepart
是規(guī)定了應在日期的哪一部分計算差額的參數(shù)。下表列出了 Microsoft® SQL Server? 識別的日期部分和縮寫。
日期部分 縮寫
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
startdate
是計算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。
因為 smalldatetime 只精確到分鐘,所以當用 smalldatetime 值時,秒和毫秒總是 0。
如 果您只指定年份的***兩位數(shù)字,則小于或等于"兩位數(shù)年份截止期"配置選項的值的***兩位數(shù)字的數(shù)字所在世紀與截止年所在世紀相同。大于該選項的值的*** 兩位數(shù)字的數(shù)字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(默認),則 49被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數(shù)的年份。
enddate
是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。
三、返回類型
integer
四、用法
此函數(shù)計算兩個指定日期之間日期部分的數(shù)目。結果為日期部分中等于(date2 - date1)的有符號的整數(shù)值。
當結果不是日期部分的偶數(shù)倍時,DATEDIFF 將被截斷而不是被舍入。
當使用 day 作為日期部分時,DATEDIFF 返回兩個指定的時間之間(包括第二個日期但不包括***個日期)的午夜數(shù)。
當使用 month 作為日期部分時,DATEDIFF 返回兩個日期之間(包括第二個日期但不包括***個日期)出現(xiàn)的月的***天的數(shù)目。
當使用 week 作為日期部分時,DATEDIFF 返回兩個日期(包括第二個日期但不包括***個日期)之間星期日的數(shù)目。
對于更小的時間單位存在溢出值:
milliseconds 24天
seconds 68年
minutes 4083年
others 沒有溢出限制
如果超出這些限制,此函數(shù)將返回溢出錯誤。
五、標準和兼容性
SQL/92 Transact-SQL 擴展。
SQL/99 Transact-SQL 擴展。
Sybase 與 Adaptive Server Enterprise 兼容。
六、示例
下面的語句返回 1:
select datediff( hour, ''4:00am'', ''5:50am'' )
下面的語句返回 102:
select datediff( month, ''1987/05/02'', ''1995/11/15'' )
下面的語句返回 0:
select datediff( day, ''00:00'', ''23:59'' )
下面的語句返回 4:
select datediff( day, ''1999/07/19 00:00'',''1999/07/23 23:59'' )
下面的語句返回 0:
select datediff( month, ''1999/07/19'', ''1999/07/23'' )
下面的語句返回 1:
select datediff( month, ''1999/07/19'', ''1999/08/23'' )
上述就是小編為大家分享的Python中怎么實現(xiàn)數(shù)據(jù)可視化了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。