php+mysql開發的網站 如何使用hadoop+hbase+hive,能代替mysql么?
php+mysql開發的網站 如何使用hadoop+hbase+hive,
hadoop+hbase+hive的組合能代替mysql么我現在只知道 hive能把 sql轉換 成hbase能識別的那麼怎麼用php 操作hive呢
hadoop+hbase+hive+php怎麼實現 求指點
0 就目前的產品情況,代替不了,中長期看,Hadoop+HBase+Hive也不會以代替mysql為目標。1 就你提問的場景推測,你也用不著Hadoop,Hive,HBase中的任何一個,沒那個需求。
2 你知道的『Hive能把SQL轉成HBase能識別的』是錯的,Hive生成的MapReduce執行計劃不能被HBase識別(這個執行計劃可以在HBase的數據文件上執行)。能把SQL轉成HBase識別的是其他一些QL工具,比如Phoenix。
千萬別這麼搞,風馬牛不相及啊。
hive的本質,是用sql語言操作hadoop,因為會sql的人多,會hadoop的人少,於是fb就搞了這個東西,方便sql程序員使用hadoop。hbase是列存儲資料庫,基於hadoop的。但hive和hbase是線下處理,不是實時的,而且慢,只適合線下分析數據,我至今還沒見過用它們代替mysql的方案...
mysql不可替代。
「我現在只知道 hive能把 sql轉換 成hbase能識別的」
只能認為,hive用sql操作hadoop,而hadoop能使用hbase,跟hive跟habase不相干。
「那麼怎麼用php 操作hive呢 」
目前沒聽說有這麼乾的。「hadoop+hbase+hive+php怎麼實現 求指點」你是做本科畢設,還是剛入學的研究生?能做這種方案設計的,除了一些二貨國企之外,就只剩下騙經費的二貨高校老師了。hive和hbase是兩碼事兒吧,區別在於前者基於HQL,後者是NoSQL。hive將HQL(類SQL)翻譯成mapreduce任務,在hadoop的HDFS上運行。腳本語言(php、python等)可以通過thrift調用hive介面
建議用hadoop+hbase+pheonix試下。
感覺兩者不是同一個應用面的東西吧,唯一的共同點是都是持久化存儲而已。但就web開發,關係型資料庫還是霸主地位,雖然有redis等kv存儲(偶爾有些場景會用mongoDB做持久化),但都是結合著用的。至今還沒見過脫離關係型資料庫的web應用。
目前hadoop生態環境下,大數據可能更多的應用在離線數據的計算分析。一般數據人員通過一些工具(Sqoop)把mysql的數據導到hadoop平台,hive定義了簡單的類 SQL 查詢語言,方便熟悉sql的分析人員查詢數據(對於直寫sql的查詢,hive最終也是轉化為Mapreduce jobs進行執行)。同時,hive也允許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 無法完成的複雜的分析工作。
存儲用hbase,在hbase前面加一層全文搜索層實現類似MySQL根據某些欄位查詢數據的功能。可以參考一下elasticsearch
這麼搞應該是可行的吧,再開發的時候,取數據的時候只是變成了從hbase資料庫,而且hbase的分散式部署和運維要比mysql好很多吧,而且也不一定是要數據量到了那麼大你再考慮搞吧,一開始就使用它就好了吧。
不能,因為Hive只能查詢數據,不能對數據進行更改(如增、刪,改)
推薦閱讀:
※mysql 每次查詢一條數據查10次 和一次查詢10條數據效率有多少差距?
※如何用C++介面備份MySQL的二進位數據?
※附近的人怎麼計算出來的?
※Stata 中文字元顯示成問號,該怎麼解決?
※mysql,zk這些強一致性的軟體為什麼要先寫日誌?