大資料面試之hive和傳統資料庫之間的區別

2021-10-24 23:14:05 字數 1011 閱讀 7173

傳統資料庫是寫時模式,在load過程中,提公升了查詢效能,因為預先解析之後可以對列建立索引,並壓縮,但這樣也會花費更多的載入時間。

hive是讀時模式,1 oad data非常迅速,因為它不需要讀取資料進行解析,僅僅進行檔案的複製或者移動。

在傳統資料庫裡,表的模式是在資料載入時強制確定的。如果在載入時發現資料不符合模式,則被拒絕載入資料。因為資料是在寫入資料庫是對照模式進行檢查,因此這一設計有時被稱為「寫時模式」(schema on write)。

在另外一方面,hive對資料的驗證並在不載入資料時進行,而在查詢時進行。這稱為「讀時模式」(schema on read)。

在另外一方面,hive對資料的驗證並在不載入資料時進行,而在查詢時進行。這稱為「讀時模式」(schema on read)。

使用者需要在這兩種方法之間權衡。讀時模式可以使得資料載入非常迅速。這是因為它不需要讀取資料,進行「解析」,再進行序列化以資料庫內部格式存入磁碟。資料載入僅僅是檔案的複製和移動。這一方法也更為靈活:試想,針對不同的分析任務,同乙個資料可能會有兩個模式。hive使用『』外部表』時,這種情況是可能發生的。

寫時模式有利於提公升查詢效能。因為資料庫可以對列進行索引,並對資料進行壓縮。但是作為權衡,此時載入資料會花更多時間。此外沒在很多載入時模式未知的情況下,因為查詢尚未確定,因此不能決定使用何種索引。這些情況真是hive「長袖善舞」的地方!

hive中沒有定義專門的資料格式,由使用者指定,需要指定三個屬性:列分隔符,行分隔符,以及讀取檔案資料的方法。資料庫中,儲存引擎定義了自己的資料格式。所有資料都會按照一定的組織儲存

hive的內容是讀多寫少的,因此,不支援對資料的改寫和刪除,資料都在載入的時候中確定好的。資料庫中的資料通常是需要經常進行修改

hive在查詢資料的時候,需要掃瞄整個表(或分割槽),因此延遲較高,只有在處理大資料是才有優勢。資料庫在處理小資料是執行延遲較低。

hive比較弱,不適合實時查詢。資料庫有。

hive是 mapreduce,資料庫是 executor

hive高,資料庫低

hive大,資料庫小

大資料之Hive《五》

1 語法hive load data local inpath opt module datas student.txt overwrite into table student partition partcol1 val1,1 load data 表示載入資料 2 local 表示從本地載入資料...

大資料學習之Hive

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1 hive處理的資料儲存在hdfs 2 hive分析資料底層的實現是mapreduce 3 執行程式執行在yarn上 hive的優缺點 帶...

傳統資料與大資料

問世間,大資料為何物,直教人眾說紛紜 一本 big data 的書,掀起了大資料的浪潮,不管是it人士,還是 精英,都在議論大資料,春運大資料 出遊大資料 美食大資料 閱讀大資料 那麼,大資料到底是什麼呢?難道量大 數大就是大資料嗎?如果是這樣,大資料就是炒舊飯了,殊不知電信領域無論從數量規模,還是...