程序员看《长安十二时辰》的正确姿势~!
聽說最近《長安十二時辰》比較火,于是趁著一個周末趕緊補一補劇。相信很多人都對其中的"大案牘術(shù)"比較感興趣,靖安司說"大案牘術(shù)"選中了張小敬。
看到這里,我以為女朋友會問我:什么是大案牘術(shù)?
萬萬沒想到,女朋友并沒有這么問,而是說了一句:四字弟弟好帥啊~!
大案牘術(shù)大案牘術(shù),并不是歷史上真實存在的,而是《長安十二時辰》的作者馬伯庸自創(chuàng)的。
大案牘術(shù)的發(fā)明者是徐賓,只是靖安司一個八品主事,因為其出色的記憶力,以及對術(shù)數(shù)的刻苦鉆研,研究出了一套以檔案數(shù)據(jù)為基礎(chǔ)的處理事務(wù)的方法,即為“大案牘術(shù)”,無論是破案調(diào)查找人,甚至預(yù)言未來,都可以做到。
《長安十二時辰》原著中有兩處關(guān)于大案牘術(shù)的描述:
他做不良帥那么多年,破案無數(shù),深知很多事情并不需要搜考秘聞,真相就藏在人人可見的文卷之中,就看你能不能找出來——此所謂’大案牘’之術(shù)。李泌特意在靖安司集中一批精干官吏,專事檢校查閱,正適合應(yīng)付眼下這局面,可見此人卓識。
憑借大案牘之術(shù)和祆教的戶籍配合,他迅速地找出一個可疑之人。此人叫作龍波,來自龜茲,開元二十年來京落為市籍,同年拜入祆教,就住在懷遠(yuǎn)坊內(nèi),一直單身。供奉記錄顯示他最近半年來,給祆祠的供奉陡增,為此還特受褒獎。天寶二載底市籍有過一次清冊重造,但龍波的戶口仍是開元二十年。有一位戶部老吏敏銳地注意到這個小紕漏。戶籍上要寫清相貌,若是舊冊不造,則有可能冒名頂替。
其實,所謂"大案牘術(shù)",就是我們今天所說的大數(shù)據(jù)。
大數(shù)據(jù)大數(shù)據(jù),Big Data,是指無法在一定時間內(nèi)用常規(guī)軟件工具對其內(nèi)容進行抓取、管理和處理的數(shù)據(jù)集合。大數(shù)據(jù)具有4個基本特征:
數(shù)據(jù)體量巨大。百度資料表明,其新首頁導(dǎo)航每天需要提供的數(shù)據(jù)超過1.5PB(1PB=1024TB),這些數(shù)據(jù)如果打印出來將超過5千億張A4紙。有資料證實,到目前為止,人類生產(chǎn)的所有印刷材料的數(shù)據(jù)量僅為200PB。
數(shù)據(jù)類型多樣。現(xiàn)在的數(shù)據(jù)類型不僅是文本形式,更多的是圖片、視頻、音頻、地理位置信息等多類型的數(shù)據(jù),個性化數(shù)據(jù)占絕對多數(shù)。
處理速度快。數(shù)據(jù)處理遵循“1秒定律”,可從各種類型的數(shù)據(jù)中快速獲得高價值的信息。
價值密度低。以視頻為例,一小時的視頻,在不間斷的監(jiān)控過程中,可能有用的數(shù)據(jù)僅僅只有一兩秒。
現(xiàn)如今,大數(shù)據(jù)是一個很火的詞匯,但是所有的理解也都不盡相同,對于不同的人,大數(shù)據(jù)有著不同的意思。
對于廣大用戶來說,大數(shù)據(jù)就是被采集到的各種信息。最簡單的來說,指的就是用戶的一些個人信息,如姓名、手機號、職業(yè)等。再深層次一些可能是用戶的人際關(guān)系、交易記錄、用戶的行為記錄等。
對于一些從事大數(shù)據(jù)相關(guān)的技術(shù)人員來說,大數(shù)據(jù)就是數(shù)據(jù)采集、數(shù)據(jù)存取、數(shù)據(jù)處理、統(tǒng)計分析、數(shù)據(jù)挖掘等。而做這些的目的主要是通過大量數(shù)據(jù),進行預(yù)測分析,來實現(xiàn)商業(yè)價值。
就像"大案牘術(shù)"一樣,徐賓可以通過一些案牘中的記錄,進行破案找人、預(yù)測未來,如今的大數(shù)據(jù)更是有著廣泛的應(yīng)用。
無論是各行各業(yè),一旦有了大量數(shù)據(jù),通過對不同來源數(shù)據(jù)的管理、處理、分析與優(yōu)化,將結(jié)果反饋到上述應(yīng)用中,將創(chuàng)造出巨大的經(jīng)濟和社會價值。大數(shù)據(jù)利用已經(jīng)逐漸成為提高核心競爭力的關(guān)鍵因素,各行各業(yè)的決策正在從“業(yè)務(wù)驅(qū)動” 轉(zhuǎn)變“數(shù)據(jù)驅(qū)動”。在大數(shù)據(jù)時代,可通過實時監(jiān)測、跟蹤研究對象在互聯(lián)網(wǎng)上產(chǎn)生的海量行為數(shù)據(jù),進行挖掘分析,揭示出規(guī)律性的東西,提出研究結(jié)論和對策。
比如:
銀行有了大數(shù)據(jù),可以提前識別風(fēng)險,降低經(jīng)濟損失。
電商網(wǎng)站有了大數(shù)據(jù),可以分析用戶行為,推薦適合商品。
醫(yī)院有了大數(shù)據(jù),可以對各種疑難病癥進行分析并治愈。
制造業(yè)有了大數(shù)據(jù),可以提前預(yù)知銷量,動態(tài)調(diào)整生產(chǎn)力。
公安系統(tǒng)有了大數(shù)據(jù),可以更好的維護社會穩(wěn)定。
大數(shù)據(jù)的處理我們通過《長安十二時辰》的影視劇以及原著我們知道,大案牘術(shù)之所以可以進行斷案和預(yù)知未來主要是有幾個基本前提:
1、需要有很多錄入吏將各地發(fā)生的事件詳盡的記錄下來。
2、錄入吏將自己記錄的信息進行整理成案牘,提交給靖安司。
3、靖安司將這些案牘分門別類的保存在案牘庫中。
4、需要查詢某個事件或人物時,需要各個文官們一起翻閱案牘,進行信息檢索?
5、最后根據(jù)這些數(shù)據(jù)進行整理、分析得出結(jié)果。
以上環(huán)節(jié),其實也是當(dāng)今的大數(shù)據(jù)處理的主要流程:包括數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲、數(shù)據(jù)處理與分析、數(shù)據(jù)展示/數(shù)據(jù)可視化、數(shù)據(jù)應(yīng)用等環(huán)節(jié)。
整個處理流程也可以精簡概括為四步,分別是數(shù)據(jù)采集存儲、數(shù)據(jù)預(yù)處理、數(shù)據(jù)統(tǒng)計分析,最后是數(shù)據(jù)挖掘。
在《長安十二時辰》中,徐賓說:案牘上的數(shù)字,是百姓的生計、生涯,更是大唐的未來。
這案牘上的數(shù)字,其實指的就是大數(shù)據(jù)中很重要的數(shù)據(jù)質(zhì)量。數(shù)據(jù)質(zhì)量貫穿于整個大數(shù)據(jù)流程,每一個數(shù)據(jù)處理環(huán)節(jié)都會對大數(shù)據(jù)質(zhì)量產(chǎn)生影響作用。
這里針對上面提到的大數(shù)據(jù)處理流程,簡單介紹下其中比較重要的幾個流程。
數(shù)據(jù)采集存儲?
數(shù)據(jù)的采集是指利用多個數(shù)據(jù)庫來接收發(fā)自客戶端的數(shù)據(jù),并且用戶可以通過這些數(shù)據(jù)庫來進行簡單的查詢和處理工作。比如,電商會使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫MySQL和Oracle等來存儲每一筆事務(wù)數(shù)據(jù),除此之外,Redis和MongoDB這樣的NoSQL數(shù)據(jù)庫也常用于數(shù)據(jù)的采集。
數(shù)據(jù)預(yù)處理?
雖然采集端本身會有很多數(shù)據(jù)庫,但是如果要對這些海量數(shù)據(jù)進行有效的分析,還是應(yīng)該將這些來自前端的數(shù)據(jù)導(dǎo)入到一個集中的大型分布式數(shù)據(jù)庫,或者分布式存儲集群,并且可以在導(dǎo)入基礎(chǔ)上做一些簡單的清洗和預(yù)處理工作。
數(shù)據(jù)統(tǒng)計分析
統(tǒng)計與分析主要利用分布式數(shù)據(jù)庫,或者分布式計算集群來對存儲于其內(nèi)的海量數(shù)據(jù)進行普通的分析和分類匯總等,以滿足大多數(shù)常見的分析需求。
數(shù)據(jù)挖掘
與前面統(tǒng)計和分析過程不同的是,數(shù)據(jù)挖掘一般沒有什么預(yù)先設(shè)定好的主題,主要是在現(xiàn)有數(shù)據(jù)上面進行基于各種算法的計算,從而起到預(yù)測(Predict)的效果,從而實現(xiàn)一些高級別數(shù)據(jù)分析的需求。
大數(shù)據(jù)處理相關(guān)技術(shù)大數(shù)據(jù)技術(shù)的體系龐大且復(fù)雜,基礎(chǔ)的技術(shù)包含數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲、NoSQL數(shù)據(jù)庫、數(shù)據(jù)倉庫、機器學(xué)習(xí)、并行計算、可視化等各種技術(shù)范疇和不同的技術(shù)層面
文件存儲:Hadoop HDFS、Tachyon、KFS
離線計算:Hadoop MapReduce、Spark
流式、實時計算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL數(shù)據(jù)庫:HBase、Redis、MongoDB
資源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系統(tǒng):Kafka、StormMQ、ZeroMQ、RabbitMQ
查詢分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式協(xié)調(diào)服務(wù):Zookeeper
集群管理與監(jiān)控:Ambari、Ganglia、Nagios、Cloudera Manager
數(shù)據(jù)挖掘、機器學(xué)習(xí):Mahout、Spark MLLib
數(shù)據(jù)同步:Sqoop任務(wù)調(diào)度:Oozie
以上這些工具,是和大數(shù)據(jù)有關(guān)的一些框架技術(shù),可以看到每一個類型中都有多種技術(shù)可以實現(xiàn),所以在做技術(shù)選型的時候,需要根據(jù)自己的業(yè)務(wù)實際情況選擇最適合自己的框架。
本文轉(zhuǎn)載自微信公眾號:漫話編程(用漫畫+音頻的方式講解枯燥的編程知識),是一個我經(jīng)常看的公眾號,下面是他們的二維碼,可以關(guān)注下。
好文章,我?在看?
總結(jié)
以上是生活随笔為你收集整理的程序员看《长安十二时辰》的正确姿势~!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Golang之 ==和deepEqual
- 下一篇: Golang之gjson