版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
北風(fēng)網(wǎng)項目實戰(zhàn)培訓(xùn)第十三講、金融中的大數(shù)據(jù)應(yīng)用及Python實現(xiàn)講師:朱彤(北風(fēng)網(wǎng)版權(quán)所有)Python金融應(yīng)用概述隨著云計算技術(shù)的出現(xiàn),大數(shù)據(jù)應(yīng)用開始逐步有所發(fā)展。那么什么是大數(shù)據(jù),你又應(yīng)當(dāng)如何通過大數(shù)據(jù)來獲得有用的信息?大數(shù)據(jù)與我們每天遇到的通常的數(shù)據(jù)形式有什么不同?本章將主要回答這些問題,并且向你介紹金融中大數(shù)據(jù)的使用。大數(shù)據(jù)工具提供了分析大量數(shù)據(jù)的可靠性工具,這些數(shù)據(jù)可能來自于多個來源。為了實現(xiàn)大數(shù)據(jù)需求,ApacheHadoop成為了金融機構(gòu)及公司的最主要選擇。這樣,對于金融工程師而言,了解Hadoop用于金融分析的方式是非常關(guān)鍵的。在我們開始處理大數(shù)據(jù)集的時候,我們還需要找到一種方式來存儲數(shù)據(jù)。最常規(guī)的存儲數(shù)據(jù)的方式是結(jié)構(gòu)化查詢語言(SQL)這樣的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。電子數(shù)據(jù)的本質(zhì)是總會發(fā)生變化的,而其他的一些存儲數(shù)據(jù)的方式就被引入,特別是關(guān)于非SQL的產(chǎn)品。非關(guān)系型數(shù)據(jù)庫機制的一種典型應(yīng)用是NoSQL,稱為NotOnlySQL。除了使用SQL類似的語言進行數(shù)據(jù)管理意外,NoSQL允許存儲非結(jié)構(gòu)化的數(shù)據(jù),例如鍵值對,圖形或者文件。因為從設(shè)計角度的簡單,它也可以在某些環(huán)境下表現(xiàn)的更為有效。金融中NoSQL的一個應(yīng)用方式是存儲tick數(shù)據(jù)。本章將介紹使用NoSQL存儲tick數(shù)據(jù)的方式。概述本章我們將介紹如下話題:介紹大數(shù)據(jù),ApacheHadoop以及其組成成分獲得Hadoop并且運行一個快速啟動的虛擬機使用Hadoop的HDFS文件存儲使用Python和MapReduce結(jié)合實現(xiàn)一個對電子書的單詞計數(shù)的程序。在Hadoop運行之前對MapReduce程序的檢驗對于某只股票日度的價格變化進行MapReduce操作使用Python分析MapReduce操作的結(jié)果介紹NoSQL獲取并運行MongoDB獲取和安裝Python使用的PyMongo介紹PyMongo的數(shù)據(jù)庫和集合使用NoSQL集合進行tick數(shù)據(jù)的插入,刪除,查找和存儲操作。了解大數(shù)據(jù)關(guān)于大數(shù)據(jù)有很多激動人性的特性包含在其中。在開始本章的介紹之前,非常重要的一個工作室定義大數(shù)據(jù)以及了解你使用大數(shù)據(jù)來獲得有用信息的方式。大數(shù)據(jù)與我們?nèi)粘E龅降臄?shù)據(jù)有什么不同,例如新聞故事,報告,文獻以及聲音等相比有什么不同?大數(shù)據(jù)實際上用高速來刻畫的,它會累計到一個較大的數(shù)據(jù)量,通常是TB或PB級別。常規(guī)的軟件工具已經(jīng)無法在短時間內(nèi)獲取,處理,操作和管理這樣的數(shù)據(jù)。應(yīng)用于這些大規(guī)模的數(shù)據(jù)集的分析性的工具是用來揭示數(shù)據(jù)的信息及其之間的關(guān)系,以更好的用于預(yù)測和其他分析性的行為。隨著云計算的出現(xiàn),大數(shù)據(jù)變得越來越平常。大量的信息可以以較低的成本存儲在云端。這推動了從關(guān)系型的存儲到非關(guān)系型的解決方案的過渡,例如NoSQL,允許非關(guān)系型的數(shù)據(jù)以較快的速率被獲取。通過在獲取的數(shù)據(jù)上進行數(shù)據(jù)分析,公司可以改進運行的效率,分析的模式,運行目標(biāo)的市場營銷計劃并改進客戶的感知。金融行業(yè)的公司正在逐步將大數(shù)據(jù)整合到他們的運行當(dāng)中,例如,實時分析客戶的交易來確定異常的行為和發(fā)現(xiàn)欺詐??蛻舻挠涗?,消費的習(xí)慣甚至是社交媒體的行為可以用來通過市場分割來改進產(chǎn)品和服務(wù)。大數(shù)據(jù)同居提供了分析風(fēng)險和信用方面大數(shù)據(jù)的可靠框架,而這樣的數(shù)據(jù)又是來源于很多渠道。Hadoop用于大數(shù)據(jù)分析ApacheHadoop是一個100%開源的框架,其主要功能有兩個:存儲和處理大數(shù)據(jù)。它逐步成為對多個服務(wù)器中分布式并行處理數(shù)據(jù)的領(lǐng)先大數(shù)據(jù)工具,而且可以無限的擴大規(guī)模。因為規(guī)模擴展性,靈活性,容錯性以及低成本的特性,許多云計算解決方案提供商,金融機構(gòu)以及公司都使用Hadoop來滿足其大數(shù)據(jù)需求。Hadoop框架包含完成其功能的關(guān)鍵模塊:Hadoop分布式文件系統(tǒng)(HDFS),YetAnotherResourceNegotiator(YARN)以及MapReduce(MapR)。Hadoop用于大數(shù)據(jù)分析HDFS:HDFS是Hadoop特有的文件系統(tǒng),設(shè)計用來規(guī)模擴展和可移植操作,允許大量的數(shù)據(jù)存儲在Hadoop集群的多個節(jié)點上,數(shù)據(jù)可以是GB規(guī)模甚至是TB規(guī)模。集群中的數(shù)據(jù)被劃分為小的128Mb的小的模塊,并分布在各個集群上。MapReduce數(shù)據(jù)處理函數(shù)用來對大數(shù)據(jù)集合的小的子集進行操作,因此提供了大數(shù)據(jù)處理所需要的規(guī)模擴展操作。HDFS文件系統(tǒng)使用TCP/IPsocket通信來作為一個大的文件系統(tǒng)在網(wǎng)絡(luò)中提供數(shù)據(jù)。YARN:YARN是一個資源管理和計劃平臺管理CPU,內(nèi)存以及在Hadoop集群中運行的應(yīng)用的存儲。它包含負(fù)責(zé)如下功能的模塊:在相同集群運行的應(yīng)用之間分配資源同時滿足一定約束,例如隊列功能和用戶限制等的功能;基于每個應(yīng)用的資源需求計劃任務(wù);協(xié)調(diào)計劃的合適資源;跟蹤和監(jiān)控應(yīng)用程序的運行以及其資源使用。MapReduce:MapReduce是Hadoop用于處理和生成大數(shù)據(jù)集合的軟件程序框架。對于開發(fā)者來說,MapReduce可能是Hadoop中最重要的程序設(shè)計組成。它包含兩個功能,map和reduce。Map功能處理鍵值對來產(chǎn)生中間鍵值對,reduce功能將所有的具有相同中間鍵的中間鍵值對合并起來來得到結(jié)果。MapReduce減輕了軟件需要處理的跨網(wǎng)絡(luò)移動數(shù)據(jù)的需求,讓處理軟件直接面對數(shù)據(jù)。MapReduce主要是使用Java進行處理,其他的語言,例如SQL和Python,也可以對MapReduce進行實現(xiàn),使用Hadoop流工具。大數(shù)據(jù)適合我么?也許你正在運行一個文件,大約幾百兆的規(guī)模,而你目前的數(shù)據(jù)分析工具運行的過于緩慢。因為大數(shù)據(jù)通常包含TB或GB級別的存儲,那么你可能會問,ApacheHadoop在這種情況下適合我么?注意Hadoop實現(xiàn)的常規(guī)計算時將每一個你數(shù)據(jù)中的輸入進行映射,然后進行某些簡化計算的操作來加總個體的部分。你事實上可以使用編程語言,例如SQL和Python來實現(xiàn)相同的分組和計數(shù)工作。另外,存儲節(jié)點允許你更為容易的表達(dá)計算流?;蛘吣阋苍S希望考慮移植數(shù)據(jù)分析工具到pandas或R,它們也是非常強大的,可以處理GB級別的數(shù)據(jù),編碼是有效的,且沒有內(nèi)存泄漏。許多商業(yè)的SQL服務(wù)器也可以完成這項任務(wù)。除此之外,內(nèi)存和存儲成本是可以接受的,這樣你可以在自己的工作站上運行大規(guī)模的計算。如果你的數(shù)據(jù)是TB級別的,那么就沒有那么幸運,沒有其他的一些選擇,那么ApacheHadoop以及其他的大數(shù)據(jù)處理工具例如ApacheSpark看似就是最好的選擇,它們會提供規(guī)??蓴U展性,可支付以及容錯性。獲取ApacheHadoopApacheHadoop的官方網(wǎng)頁是,這里,你可以找到深入的文檔,手冊以及ApacheHadoop的發(fā)布版本。Hadoop是用Java寫的,需要安裝JVM到你的單一節(jié)點運行,它支持GNU/Linux以及Windows。因為本章的主要目的是介紹與ApacheHadoop相關(guān)的Python編程,理想的是有一種快速的獲取完整的Hadoop生態(tài)系統(tǒng)的方式。云計算提供商Cloudera提供一組免費的QuickStartVM,包含單一節(jié)點的ApacheHadoop集群,完整的樣本示例以及幫助我們直接管理集群的工具。因此,我們在這里使用虛擬機的方式。下載地址/content/support/en/downloads/quickstart_vms.html因為VM是64位的,因此需要64位的基礎(chǔ)操作系統(tǒng)以及支持64位的虛擬機,需要4GB的內(nèi)存。運行的虛擬機的用戶名和密碼都是cloudera,這個包含root權(quán)限,主目錄是/home/clouderaHadoop處理一個單詞計數(shù)程序最為簡單的一種了解Hadoop編程的方式是一個簡單的對相對比較大的電子書的單詞計數(shù)功能。Map程序會讀入文本中的每一行,以空格或制表符分割并返回一個鍵值對,默認(rèn)的計數(shù)為1。而程序reduce會讀入來自于map程序的說有鍵值對,并且對相似的單詞進行加總。Hadoop的產(chǎn)出是一個輸出文件,包含整個電子書單詞的一個列表以及單詞出現(xiàn)的次數(shù)。下載樣本數(shù)據(jù):Gutenberg提供了超過100000本免費的電子書,以HTML,EPUB,Kindle以及純文本UTF-8的格式存儲。我們在這里使用電子書進行測試,我們選用由JamesJoyce所編著的Ulysses一書。純文本UTF-8文件的路徑是http://www.G/ebooks/4300.txt.utf-8,使用Firefox或者其他的網(wǎng)絡(luò)瀏覽器,我們可以下載這個文件,并將其保存在Downloads文件夾中,文件名為pg4300.txt。在將文件下載到磁盤以后,我們將它復(fù)制到HadoopHDFS文件存儲中進行處理。這樣的操作會將電子書保存到Hadoop的HDFS存儲,名稱相同為pg4300.txt。為了保證拷貝操作的成功,我們使用Hadoopfs–ls命令來看一下文件。這樣可以看到Hadoop文件存儲成功的保存了我們的文件。Hadoop處理一個單詞計數(shù)程序我們下面要在Hadoop上運行Python編寫的map程序,編寫一個名為mapper.py的文件,可以在后面使用。當(dāng)運行mapper.py的時候,解釋器會讀入輸入緩沖區(qū)的來自于文本的數(shù)據(jù)。所有的文本都被使用空白字符進行分隔,每個單詞被賦值為計數(shù)一次,使用制表符進行分隔輸出。CentOS中的一個用戶友好的編輯器是gedit,創(chuàng)建一個名為word_count的目錄,保存文件為/home/cloudera/word_count/mapper.py。程序文件mapper.py需要被指定為Linux系統(tǒng)下可執(zhí)行的文件,從終端使用一個命令可以進行此項操作。下面我們創(chuàng)建reduce.py程序,也存放在/home/cloudera/word_count/目錄下。這里,reduce程序從map程序讀入所有的鍵值對。當(dāng)前的單詞以及單詞的技術(shù)通過分隔符制表符來獲得,并且和之前出現(xiàn)的單詞對比。如果相同的單詞,則增加單詞的計數(shù)加1,然后返回結(jié)果,打印單詞本身以及計數(shù)的數(shù)量,用制表符分隔。再一次的,應(yīng)當(dāng)把reduce.py也指定為是Linux可運行的程序。這樣可以保證我們的程序沒有限制的運行。Hadoop處理一個單詞計數(shù)程序在Hadoop中運行我們的map和reduce程序之前,我們可以在本機上首先運行,保證程序正常的工作。我們可以使用圖形界面的方式看到我們剛剛建立的兩個python文件。在終端,我們首先運行一下mapper.py這個Python文件。和預(yù)期的一樣,map程序給出了每個讀入的單詞,設(shè)定計數(shù)為1,并且打印了每一行的結(jié)果。在終端,運行reduce.py程序。我們看到,reduce程序?qū)τ趍ap程序中出現(xiàn)的相似單詞的計數(shù)進行了相加,并打印了每行的結(jié)果。Hadoop處理一個單詞計數(shù)程序在Hadoop中運行MapReduce:我們現(xiàn)在可以在Hadoop上運行我們的MapReduce操作,在終端使用命令運行。這里,我們使用Hadoop的Streaming工具來應(yīng)用我們的Python代碼作map和reduce的操作,在這里進行HadoopStreaming操作的JavaJAR文件為hadoop-streaming-2.6.0-mr1-cdh5.5.0.jar,存放在/usr/lib/hadoop-0.20-mapreduce/contrib/streaming/目錄下。其他的系統(tǒng)中,HadoopStreaming的JAR文件可能存放在其他目錄,或者使用不同的文件名。通過提供其他的參數(shù),指定了輸入文件,輸出的目錄,這些都是Hadoop操作所必須的。在運行Hadoop時,終端中的輸出告訴了我們一些有趣的事實,包括MapReduce操作可以在http://quickstart.cloudera:8088/proxy/application_1417846146061_0002進行跟蹤,也告訴我們操作的進程,目前50%,因為整個運行需要一定的時間。在結(jié)束的時候,會出現(xiàn)文件的大小,這告訴我們成功的運行了程序,而結(jié)果被寫入到輸出文件夾pg4300-output中,我們可以看一下HDFS文件系統(tǒng)來找到這個輸出。我們看到在文件存儲中加入了一個新的文件夾,這是我們的輸出文件夾,我們可以看一下這個文件夾的內(nèi)容。Hadoop處理一個單詞計數(shù)程序這里,我們可以看到目標(biāo)文件夾中Hadoop給出了兩個文件,_SUCCESS文件是空文件,告訴我們Hadoop所進行的MapReduce操作成功的完成。第二個文件是part-00000,包含reduce操作的結(jié)果,我們可以使用fs–cat命令來查看。使用Hue來瀏覽Hadoop:除了使用終端瀏覽HDFS文件系統(tǒng)以外,另外一種方式使用GUI接口來查看HDFS文件系統(tǒng),這可以通過Hueweb接口管理器來進行。Hue也是觀察大量輸出信息的最好方式,例如觀察所有的單詞計數(shù)操作的結(jié)果。地址是:http://quickstart.cloudera:8888/filebrowser/深入學(xué)習(xí)——金融中的Hadoop現(xiàn)在我們已經(jīng)知道了如何使用Hadoop進行簡單的對一個較大的文件進行單詞計數(shù)工作。接下來我們深入一步,使用Hadoop進行量化金融分析。首先我們來計算某股票價格變化的日內(nèi)歷史百分比。從Yahoo財經(jīng)獲取IBM股票價格數(shù)據(jù):為了獲得數(shù)據(jù)集,我們可以使用Yahoo金融提供的歷史股票價格數(shù)據(jù)。使用Firefox或其他CentOS環(huán)境中的web瀏覽器,我們可以下載日度的價格數(shù)據(jù),存儲為CSV文件,地址是:/table.csv?a=IBM在這個例子中,我們使用IBM的股票數(shù)據(jù),將這個文件下載到用戶主目錄的Downloads文件夾下,并重命名為ibm.csv,如果我們看一下這個文件,會發(fā)現(xiàn)日度的價格是今天直到1962年。接下來將目標(biāo)CSV文件拷貝到Hadoop的HDFS文件系統(tǒng)。如果在HDFS文件列表中,有這個文件,則表明操作成功。深入學(xué)習(xí)——金融中的Hadoop接下來要做的事情是創(chuàng)建我們的map和reduce程序來研究股票價格。在我們的主目錄,創(chuàng)建一個新的目錄,稱為stock,我們可以將前一節(jié)所寫的mapper.py和reduce.py拷貝到文件夾/home/cloudera/stock/下。使用gedit或其他文本編輯器打開mapper.py來編輯我們的程序。修改程序告訴我們的map程序在讀取CSV文件的時候忽略第一行,因為第一行包含冗余的頭信息。下面的行包含日期,開盤價,最高價,最低價,收盤價,交易量和調(diào)整的收盤價,使用逗號分隔。我們關(guān)心的是使用開盤價和收盤價計算的一日價格的變化。程序輸出一位小數(shù)表示的值,使用逗號隔開。我們將使用相同的reduce程序,不進行任何改變。保證兩個文件都可以被執(zhí)行,這需要在終端中使用命令進行權(quán)限改變。在進行Hadoop處理之前,我們先在系統(tǒng)中對程序進行運行,我們檢驗mapper.py程序。這會給我們一個很長的價格變化的列表。這樣我們看到map程序的結(jié)果非常類似于之前的單詞計數(shù)程序。深入學(xué)習(xí)——金融中的Hadoop現(xiàn)在我們就可以在Hadoop中運行map和reduce程序了,這里使用的Unix命令類似于之前的單詞計數(shù)程序,只有很少的改變。這樣Hadoop的MapReduce操作就開始運行。當(dāng)這個運行結(jié)束以后,我們可以看到簡略的結(jié)果。和預(yù)期一樣,輸出結(jié)果會被存放到HDFS文件系統(tǒng)的stock-output目錄下。在進行結(jié)果的研究分析之前,我們需要將這個HDFS文件系統(tǒng)中的文件拷貝到本地的工作目錄,在終端可以使用命令進行。這樣我們可以使用這個文件。使用Hue,我們還是可以觀察輸出的結(jié)果。在使用Python對結(jié)果進行繪圖之前,我們需要首先安裝matplotlib模塊,這很簡單,在終端使用安裝命令就可以。這需要一定的時間,結(jié)束以后,matplotlib模塊就安裝到了我們的系統(tǒng)中。我們編寫一個python文件,來繪制結(jié)果的柱狀圖。讀入輸出中的每一行,將這個結(jié)果分隔為x和y值的列表中,然后使用matplotlib的bar函數(shù)進行繪圖。width參數(shù)給出了柱子的寬度,這里我們縮小到0.1,以實現(xiàn)完全的表示。我們還關(guān)心的是最大和最小的IBM股票的價格變化,這些數(shù)值我們進行返回。將這個文件命名為analysis.py,并存儲在/home/cloudera/stock/目錄下。從終端中,我們可以運行這個文件。總體來看,日內(nèi)IBM的價格變化最大是23.5%,最小是-13%,日內(nèi)變化的分布以0.0為中心。NoSQL許多云計算提供商都提供類似于NoSQL的存儲工具,在模型的文檔類型中存儲非結(jié)構(gòu)化的數(shù)據(jù)。本節(jié),我們將探討NoSQL作為一種金融數(shù)據(jù)存儲方式的實現(xiàn)。有許多開源的數(shù)據(jù)庫免費的支持NoSQL存儲。MongoDB是一個用C++編寫的開源的文檔數(shù)據(jù)庫。MongoDB的官方網(wǎng)站是。MongoDB有Linux,Windows,MacOSX以及Solaris的版本。我們需要到/downloads下載和安裝MongoDB到你的本地機器。MongoDB管理服務(wù)在安裝完成的時候是默認(rèn)的增加到你的操作系統(tǒng)的實時環(huán)境中,可以使用命令行來運行。在官方文檔中還包括如何開啟mongodb服務(wù)以及在你的機器上運行的指南。創(chuàng)建數(shù)據(jù)目錄和運行MongoDB:在首次運行MongoDB之前,我們需要創(chuàng)建一個目錄,其中mongod過程寫入數(shù)據(jù)。Mongod過程默認(rèn)使用/data/db作為默認(rèn)你目錄。我們在選擇的目錄下創(chuàng)建一個data目錄,保證你的用戶賬戶對此目錄有讀和寫的權(quán)限。在Windows中,打開命令行模式,移動到你的工作目錄,創(chuàng)建數(shù)據(jù)目錄,并啟動mongod服務(wù)。在我們的例子中,安裝文件存儲在c:\mongos,工作目錄是c:\test。MongoDB獲得PyMongo:PyMongo模塊包含使用Python與MongoDB進行交互的工具。PyMongo的官方主頁是/pypi/pymongo/。這里包含了安裝指南,我們會看到,安裝的過程非常類似于常規(guī)的在Windows,Linux,或MacOSX上安裝Python包的過程。最簡單的安裝PyMongo的方式是下載項目源文件,解壓到本地硬盤,然后使用終端跟蹤到這個目錄,運行pythonsetup.pyinstall來進行安裝。另外,如果你的系統(tǒng)中安裝有pip,也可以使用它來進行安裝。運行連接檢測:我們來進行一個簡單的連接檢測,保證我們的MongoDB服務(wù)以及PyMongo模塊正確的安裝。獲取數(shù)據(jù)庫:使用單一的數(shù)據(jù)目錄data/db,我們可以創(chuàng)建過個獨立的數(shù)據(jù)庫。在PyMongo的幫助下,訪問數(shù)據(jù)庫可以通過一個簡單的MongoDB實例來實現(xiàn)。例如,如果你希望數(shù)據(jù)庫的名字叫ticks_db,來存儲某些tick數(shù)據(jù),那么可以很容易的創(chuàng)建。如果數(shù)據(jù)庫的命名方式不支持,那么也是可以訪問的。MongoDB獲取一個集合:集合是一組文件,存儲在數(shù)據(jù)庫中,類似于關(guān)系型數(shù)據(jù)庫的表格。一個文件可以接受不同的輸入類型,使用二元JSON(BSON)格式來設(shè)定,包括基本類型例如字符串和整數(shù),Python列表形式表示的數(shù)組,UTF-8編碼的Unicode的二元字符串,ObjectId,也就是唯一的標(biāo)識符以及Python字典對象。記住每個文檔可以包含最多16MB數(shù)據(jù)。在我們的李子中,我們感興趣的是存儲AAPL股票的tick數(shù)據(jù),我們在一個名為aapl的集合中存儲tick數(shù)據(jù)。類似于訪問數(shù)據(jù)庫,你對集合的命名如果不被支持,例如,命名為aapl-collection,那么也是可以被用特殊方式訪問的。注意如果對象插入到的數(shù)據(jù)庫或者集合是不存在的,那么會自動創(chuàng)建。MongoDB插入一個文檔:假設(shè)我們現(xiàn)在針對的是AAPL的市場tick數(shù)據(jù)進行操作,我們感興趣的是如何存儲這些數(shù)據(jù)。我們將tick數(shù)據(jù)結(jié)構(gòu)化為一個Python的字典,存儲tick的名稱,收到的時間,開盤,最高,最低和最后的價格,以及總交易量等交易信息。假設(shè)我們有一條10AM收到的數(shù)據(jù)。我們可以簡單的使用insert函數(shù)在集合中插入一個字典對象,這樣由insert函數(shù)會生成一個唯一的鍵,有一個特殊的域命名為_id。在插入了第一個文檔之后,aapl集合會在服務(wù)器上創(chuàng)建,我們可以列出數(shù)據(jù)庫中所有的集合來證明這一點。獲取單一的文檔:最基本的對集合中文檔的查詢是使用find_one函數(shù),使用這個方法,沒有任何參數(shù),可以給出我們第一個匹配的項目,如果沒有匹配,則是None。否則,參數(shù)可以接收一個字典作為過濾的條件。我們可以使用多種方法返回相同的結(jié)果,注意的是,ObjectId屬性需要被轉(zhuǎn)化為字符串來訪問服務(wù)器生成的_id字段。刪除文檔:remove函數(shù)可以刪除集合中匹配的文檔MongoDB批量插入文檔:我們可以使用insert函數(shù)接收一個逗號分隔的字典列表。我們現(xiàn)在加入兩個假想的后兩個時間點的tick價格數(shù)據(jù)到我們的集合中。集合中文檔的計數(shù):count函數(shù)可以用于任何查詢來計算符合條件的個數(shù),也可以與find函數(shù)共同使用。查找文檔:find函數(shù)類似于find_one函數(shù),除了它是返回一個文檔的列表,沒有其他的參數(shù),find函數(shù)簡單的返回所有集合中的項目。同樣,也可以對tick數(shù)據(jù)的集合進行過濾搜索,例如,我們可以找到10:02之前的兩條數(shù)據(jù)。在find.sort的例子中,我們排序了搜索結(jié)果,按照時間升序的順序,我們也可以進行降序排序。MongoDB總結(jié):使用PyM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44929-2024空間高能天文科學(xué)觀測提案評估規(guī)范
- 2024政工程合同協(xié)議書:新能源項目合作協(xié)議3篇
- 2024建筑水電安裝系統(tǒng)檢測與維護合同
- 2024消防工程維保與消防系統(tǒng)智能化改造服務(wù)協(xié)議3篇
- 專業(yè)消防站施工建設(shè)協(xié)議樣本版A版
- 2024版專業(yè)土方外運工程承包合同范本版B版
- 2024氣象站氣象儀器設(shè)備采購與維護服務(wù)協(xié)議3篇
- 2024靈活就業(yè)人員的勞動合同
- 專業(yè)液體化工品運輸協(xié)議2024定制版版B版
- 個人房產(chǎn)轉(zhuǎn)讓協(xié)議范本2024版版B版
- 梅花鹿養(yǎng)殖基地產(chǎn)業(yè)化建設(shè)項目可行性研究報告(含財務(wù)表)
- 一年級帶拼音閱讀(全)
- 管理研究方法論for msci.students maxqda12入門指南
- 基于“產(chǎn)教結(jié)合”的電子商務(wù)專業(yè)實習(xí)實訓(xùn)教學(xué)評價體系
- TSEESA 010-2022 零碳園區(qū)創(chuàng)建與評價技術(shù)規(guī)范
- GB/T 3003-2017耐火纖維及制品
- GB/T 19867.5-2008電阻焊焊接工藝規(guī)程
- GB/T 18920-2020城市污水再生利用城市雜用水水質(zhì)
- 2023年市場部主管年終工作總結(jié)及明年工作計劃
- GB 17267-1998液化石油氣瓶充裝站安全技術(shù)條件
- 上期開特下期必開特規(guī)律
評論
0/150
提交評論