漫話:如何給女朋友解釋什麼是"大案牘術"?

大數據技術2019-08-20 22:31:45

聽説最近《長安十二時辰》比較火,於是趁着一個週末趕緊補一補劇。相信很多人都對其中的"大案牘術"比較感興趣,靖安司説"大案牘術"選中了張小敬。

看到這裏,我以為女朋友會問我:什麼是大案牘術?

萬萬沒想到,女朋友並沒有這麼問,而是説了一句:四字弟弟好帥啊~!

大案牘術

大案牘術,並不是歷史上真實存在的,而是《長安十二時辰》的作者馬伯庸自創的。

大案牘術的發明者是徐賓,只是靖安司一個八品主事,因為其出色的記憶力,以及對術數的刻苦鑽研,研究出了一套以檔案數據為基礎的處理事務的方法,即為“大案牘術”,無論是破案調查找人,甚至預言未來,都可以做到。

《長安十二時辰》原著中有兩處關於大案牘術的描述:

他做不良帥那麼多年,破案無數,深知很多事情並不需要搜考祕聞,真相就藏在人人可見的文卷之中,就看你能不能找出來——此所謂’大案牘’之術。李泌特意在靖安司集中一批精幹官吏,專事檢校查閲,正適合應付眼下這局面,可見此人卓識。


憑藉大案牘之術和祆教的户籍配合,他迅速地找出一個可疑之人。此人叫作龍波,來自龜茲,開元二十年來京落為市籍,同年拜入祆教,就住在懷遠坊內,一直單身。供奉記錄顯示他最近半年來,給祆祠的供奉陡增,為此還特受褒獎。天寶二載底市籍有過一次清冊重造,但龍波的户口仍是開元二十年。有一位户部老吏敏鋭地注意到這個小紕漏。户籍上要寫清相貌,若是舊冊不造,則有可能冒名頂替。

其實,所謂"大案牘術",就是我們今天所説的大數據。

大數據

大數據,Big Data,是指無法在一定時間內用常規軟件工具對其內容進行抓取、管理和處理的數據集合。大數據具有4個基本特徵:

  • 數據體量巨大。百度資料表明,其新首頁導航每天需要提供的數據超過1.5PB(1PB=1024TB),這些數據如果打印出來將超過5千億張A4紙。有資料證實,到目前為止,人類生產的所有印刷材料的數據量僅為200PB。

  • 數據類型多樣。現在的數據類型不僅是文本形式,更多的是圖片、視頻、音頻、地理位置信息等多類型的數據,個性化數據佔絕對多數。

  • 處理速度快。數據處理遵循“1秒定律”,可從各種類型的數據中快速獲得高價值的信息。

  • 價值密度低。以視頻為例,一小時的視頻,在不間斷的監控過程中,可能有用的數據僅僅只有一兩秒。

現如今,大數據是一個很火的詞彙,但是所有的理解也都不盡相同,對於不同的人,大數據有着不同的意思。

對於廣大用户來説,大數據就是被採集到的各種信息。最簡單的來説,指的就是用户的一些個人信息,如姓名、手機號、職業等。再深層次一些可能是用户的人際關係、交易記錄、用户的行為記錄等。

對於一些從事大數據相關的技術人員來説,大數據就是數據採集、數據存取、數據處理、統計分析、數據挖掘等。而做這些的目的主要是通過大量數據,進行預測分析,來實現商業價值。

就像"大案牘術"一樣,徐賓可以通過一些案牘中的記錄,進行破案找人、預測未來,如今的大數據更是有着廣泛的應用。

無論是各行各業,一旦有了大量數據,通過對不同來源數據的管理、處理、分析與優化,將結果反饋到上述應用中,將創造出巨大的經濟和社會價值。大數據利用已經逐漸成為提高核心競爭力的關鍵因素,各行各業的決策正在從“業務驅動” 轉變“數據驅動”。在大數據時代,可通過實時監測、跟蹤研究對象在互聯網上產生的海量行為數據,進行挖掘分析,揭示出規律性的東西,提出研究結論和對策。

比如:

銀行有了大數據,可以提前識別風險,降低經濟損失。

電商網站有了大數據,可以分析用户行為,推薦適合商品。

醫院有了大數據,可以對各種疑難病症進行分析並治癒。

製造業有了大數據,可以提前預知銷量,動態調整生產力。

公安系統有了大數據,可以更好的維護社會穩定。

大數據的處理

我們通過《長安十二時辰》的影視劇以及原著我們知道,大案牘術之所以可以進行斷案和預知未來主要是有幾個基本前提:

1、需要有很多錄入吏將各地發生的事件詳盡的記錄下來。

2、錄入吏將自己記錄的信息進行整理成案牘,提交給靖安司。

3、靖安司將這些案牘分門別類的保存在案牘庫中。

4、需要查詢某個事件或人物時,需要各個文官們一起翻閲案牘,進行信息檢索 

5、最後根據這些數據進行整理、分析得出結果。

以上環節,其實也是當今的大數據處理的主要流程:包括數據收集、數據預處理、數據存儲、數據處理與分析、數據展示/數據可視化、數據應用等環節。

整個處理流程也可以精簡概括為四步,分別是數據採集存儲、數據預處理、數據統計分析,最後是數據挖掘。

在《長安十二時辰》中,徐賓説:案牘上的數字,是百姓的生計、生涯,更是大唐的未來。

這案牘上的數字,其實指的就是大數據中很重要的數據質量。數據質量貫穿於整個大數據流程,每一個數據處理環節都會對大數據質量產生影響作用。

這裏針對上面提到的大數據處理流程,簡單介紹下其中比較重要的幾個流程。

數據採集存儲 

數據的採集是指利用多個數據庫來接收發自客户端的數據,並且用户可以通過這些數據庫來進行簡單的查詢和處理工作。比如,電商會使用傳統的關係型數據庫MySQL和Oracle等來存儲每一筆事務數據,除此之外,Redis和MongoDB這樣的NoSQL數據庫也常用於數據的採集。

數據預處理 

雖然採集端本身會有很多數據庫,但是如果要對這些海量數據進行有效的分析,還是應該將這些來自前端的數據導入到一個集中的大型分佈式數據庫,或者分佈式存儲集羣,並且可以在導入基礎上做一些簡單的清洗和預處理工作。

數據統計分析

統計與分析主要利用分佈式數據庫,或者分佈式計算集羣來對存儲於其內的海量數據進行普通的分析和分類彙總等,以滿足大多數常見的分析需求。

數據挖掘

與前面統計和分析過程不同的是,數據挖掘一般沒有什麼預先設定好的主題,主要是在現有數據上面進行基於各種算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別數據分析的需求。

大數據處理相關技術

大數據技術的體系龐大且複雜,基礎的技術包含數據的採集、數據預處理、分佈式存儲、NoSQL數據庫、數據倉庫、機器學習、並行計算、可視化等各種技術範疇和不同的技術層面

文件存儲:Hadoop HDFS、Tachyon、KFS

離線計算:Hadoop MapReduce、Spark

流式、實時計算:Storm、Spark Streaming、S4、Heron

K-V、NOSQL數據庫:HBase、Redis、MongoDB

資源管理:YARN、Mesos

日誌收集:Flume、Scribe、Logstash、Kibana

消息系統:Kafka、StormMQ、ZeroMQ、RabbitMQ

查詢分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid

分佈式協調服務:Zookeeper

集羣管理與監控:Ambari、Ganglia、Nagios、Cloudera Manager

數據挖掘、機器學習:Mahout、Spark MLLib

數據同步:Sqoop任務調度:Oozie

以上這些工具,是和大數據有關的一些框架技術,可以看到每一個類型中都有多種技術可以實現,所以在做技術選型的時候,需要根據自己的業務實際情況選擇最適合自己的框架。


●編號858,輸入編號直達本文

●輸入m獲取文章目錄

相關推薦↓↓↓

Python編程

https://hk.wxwenku.com/d/201202695