我很開心學習Hadoop及其周圍的各種項目,目前有兩種不同的策略,我正在考慮構建一個系統來存儲大量的市場報價數據,我剛剛開始使用Hadoop/HDSF和HBase,但希望有人可以幫助我種植系統種子,以後我不會再使用這些技術來垃圾。下面概述了我的系統和需求以及一些查詢和數據使用用例,最後是我目前關於從我讀過的小文檔中找到最佳方法的想法。這是一個開放式問題,我很樂意喜歡任何有洞察力的答案,並接受最好的答案,隨時評論下面的任何或全部要點。 - 鄧肯克雷布斯使用Hadoop存儲股票市場報價數據
系統要求 - 能夠利用數據存儲系統的歷史反向測試,歷史數據製圖和未來的數據挖掘。一旦存儲,數據將永遠是隻讀的,快速數據訪問是理想的,但不是回測時必需的。
靜態模式 - 很簡單,我想捕捉3種消息從飼料:
- 時間戳,包括日期,星期,時間
- 報價,包括符號,時間戳,問,askSize,投標,bidSize,體積....(約40數據的列)
- 貿易,包括符號,時間戳,價格,尺寸,交換....(數據約20列)
數據插入用例 - 無論是從數據或查找的實時市場數據流通過經紀人API
數據查詢用例 - 下面展示了我怎麼想查詢邏輯我的數據。
Get me all Quotes,Trades,Timestamps for GOOG on 9/22/2014
Get me all Trades for GOOG,FB BEFORE 9/1/2014 AND AFTER 5/1/2014
Get me the number of trades for these 50 symbols for each day over the last 90 days.
通過分佈式代理從原始市場數據生成元數據。例如,編寫一份工作計算所有股票和存儲在數據庫中的所有會話在1分鐘內的平均交易量。爲每個股票/會話創建一個代理,讓我告訴它應該計算這個值的股票和會話。 (這是什麼的MapReduce可以做???)
在我可以添加自己的util的代碼,以便使用上面的情況,例如可以發佈它的值寫入中央回購或消息服務器代理的類路徑?我可以將代理部署爲OSGI捆綁包嗎?
爲不同類型的指標和評分創建不同類型的代理,每天早上在交易前市場交易前執行?
聖盃 - 可MapReduce的用於使用情況下,像這些下面??
高頻交易
我也有興趣,如果任何人都可以分享的高頻交易系統的情況下使用Hadoop的一些經驗。剛開始使用這項技術,我的初衷是Hadoop可以非常適合存儲和處理大量的歷史數據,如果有人正在使用它進行實時交易,我會對更多的學習感興趣! - Duncan Krebs
你能分享一下你的意思嗎?HFT-- hadoop並不意味着實時處理一般。由於大部分內存處理,Spark的性能會更好,但大多數HFT(取決於您的時間表)都需要您避免磁盤/刪除網絡。再次,這取決於你的時間表HFT。 – 2014-09-23 00:20:52
嗨,ali haider,這也是我的感覺,HFT生態系統中的hadoop最適合存儲來自實時流或歷史查詢的滴答數據。我只是好奇,人們是否將它用於諸如日內刻度數據存儲之類的事物,這些數據在整個細分市場上實時分析,這些數據在記憶中變得困難。感謝您的評論 - 將看看星火餵養我的好奇心。 – 2014-09-23 00:31:02
您可以通過火花更輕鬆地解決Diska和內存存儲之間的問題。使用Hadoop,您可能需要查看內存中的數據網格(或者最好是大型RAM節點上的堆外存儲器),以解決您正在嘗試執行的操作。 – 2014-09-23 00:34:35