Hive的相关面试问题
一、hive是怎樣保存元數(shù)據(jù)的
保存元數(shù)據(jù)的方式有:
?? 1、? 內(nèi)存數(shù)據(jù)庫Derby 特點: 保存數(shù)據(jù)小,不穩(wěn)定。一般不使用。
2、 本地MySQL數(shù)據(jù)庫 特點: 存儲方式可以自己設定,持久化好,一般企業(yè)開發(fā)都用mysql做支持。
3、 遠程MySQL數(shù)據(jù)庫 特點: 相比而言,本地mysql數(shù)據(jù)庫用的比較多,因為本地讀寫速度都比較快。
二、什么是hive的內(nèi)部表和外部表
1.、被external修飾的是內(nèi)部表, 被external修飾的是外部表。?
2、內(nèi)部表數(shù)據(jù)由Hive自身管理,外部表數(shù)據(jù)由HDFS管理。
3、 內(nèi)部表數(shù)據(jù)存儲的位置是warehouse的路勁,外部表數(shù)據(jù)的存儲路勁由自己指定。
4、刪除內(nèi)部表會直接刪除元數(shù)據(jù)以及存儲的數(shù)據(jù), 刪除外部表僅僅會刪除元數(shù)據(jù), HDFS上的文件并不會被刪除。
5、對內(nèi)部表的修改會將修改直接同步給元數(shù)據(jù), 對外部表的表結構和分區(qū)進行修改的話, 則需要修復 :MSCK REPAIR TABLE 表名。
三、 Hive的 sort by 和 order by 的區(qū)別
order by 會對輸入做全局排序, 因此只有一個reducer(多個reducer無法保證全局有序)只有一個reduce, 會導致當輸入規(guī)模較大時, 需要較長的計算時間。
sort by 不是全局排序,其在數(shù)據(jù)進入reducer前完成排序。
因此,如果用sort by 進行排序, 并且設置 mapred.reduce.tasks>1,則sort by 只保證每個reducer的排序有序, 不保證全局有序。
四、 HBase和Hive的區(qū)別
Apache Hive 是一個構建在Hadoop基礎設施之上的數(shù)據(jù)倉庫。 通過Hive可以使用HQL語言查詢存放在HDFS上的數(shù)據(jù)。HQL是一種類SQL語言, 這種語言最終被轉化為Map/Reduce。雖然Hive提供了SQL查詢功能,但是Hive不能夠進行交互查詢---因為它只能夠在hadoop上批量的執(zhí)行Hadoop。
Apache Hbase 是一種 Key/Value 系統(tǒng),它運行在HDFS之上。 和Hive不一樣, Hbase的能夠在它的數(shù)據(jù)庫上實時運行,而不是運行MapReduce任務。 HBase被分區(qū)為表格,表格又被進一步分割為列簇。列簇必須使用schema定義,列簇將某一類型列表集合起來(列不要求schema定義)例如: “message” 列簇可能包含:“to”, “from”,“date”,“subject” 和 “body”? 每一個key/value對在Hbase中被定義為一個cell,每一個key由row-key, 列簇、列和 時間戳。 在Hbase中,行是key/value 映射的集合,這個映射通過row-key來唯一標識。 Hbase利用Hadoop的基礎設施, 可以利用通過的設備進行水平的擴展。
?
轉載于:https://www.cnblogs.com/fjdsj/p/10094302.html
總結
以上是生活随笔為你收集整理的Hive的相关面试问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘装win10蓝屏怎么办 U盘安装wi
- 下一篇: Leetcode300. Longest