您好,登錄后才能下訂單哦!
大數(shù)據(jù)中怎么來加載數(shù)據(jù)呢?數(shù)據(jù)加載應(yīng)該注意哪些問題呢?關(guān)系型數(shù)據(jù)庫和Impala、Hive加載數(shù)據(jù)有哪些區(qū)別呢?
在了解加載數(shù)據(jù)之前必須明確一個概念“數(shù)據(jù)驗證”, Impala和Hive與其他關(guān)系型數(shù)據(jù)庫不一樣,關(guān)系型數(shù)據(jù)庫是在寫的時候進(jìn)行校驗,比如我們創(chuàng)建一個表,當(dāng)去給它加載數(shù)據(jù)的時候,它會去驗證數(shù)據(jù)以及數(shù)據(jù)類型是不是符合要求,如果不符合,數(shù)據(jù)就加載不了。
在Hive和Impala中,它在讀的時候進(jìn)行校驗。為什么會這樣設(shè)計呢?主要是為了提升寫的速度和加載的效率。那么,這樣檢驗數(shù)據(jù)會不會出錯呢?當(dāng)然不會,如果你查詢不到這個數(shù)據(jù),它會以“null”來表達(dá)。如果要對查詢可靠性進(jìn)行保證,保證每個數(shù)據(jù)都能查到和匹配,可以通過其它的工程語言在前端進(jìn)行一個保證。
一、從HDFS加載數(shù)據(jù)
(1)為了加載數(shù)據(jù),可以簡單地添加文件到HDFS的表目錄,這個直接使用hdfs dfs命令完成
示例:從HDFS加載數(shù)據(jù)到sales表
(2)使用LOAD DATA INPATH命令,在Hive或者Impala里完成。這個操作將在HDFS內(nèi)移動數(shù)據(jù),就像前面的命令一樣,數(shù)據(jù)源可以是文件或目錄。
二、覆蓋數(shù)據(jù)
(1)添加OVERWRITE關(guān)鍵字在導(dǎo)入之前刪除所有記錄。就是在表目錄內(nèi)移除所有文件,然后把新文件移動到那個目錄。
三、追加選擇的記錄到表中
(1)通過查詢插入數(shù)據(jù)
1、使用INSERT INTO來添加結(jié)果到已存在的Hive表中
2、指定WHERE條件來控制哪些記錄將被追加
四、使用元數(shù)據(jù)庫管理器加載數(shù)據(jù)
(1)元數(shù)據(jù)管理器提供了兩種方法來加載數(shù)據(jù)
五、從關(guān)系型數(shù)據(jù)庫加載數(shù)據(jù)
Sqoop內(nèi)嵌支持導(dǎo)入數(shù)據(jù)到Hive和Impala,可以添加--hive-import選項到Sqoop命令,在Hive元數(shù)據(jù)庫中創(chuàng)建表,從RDBMS導(dǎo)入數(shù)據(jù)到HDFS表目錄。
注意--hive-import創(chuàng)建的表在Hive和Impala中都可以訪問
有問題,隨時來,還有同行共歡聚,大家一起聊!
歡迎關(guān)注微信公眾號“大數(shù)據(jù)cn”。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。