SQL處理二維表格數(shù)據(jù),是一種最樸素的工具,NoSQL是Not Only SQL,即不僅僅是SQL。從MySQL導(dǎo)入數(shù)據(jù)到HDFS文件系統(tǒng)中,最簡單的一種方式就是使用Sqoop,然后將HDFS中的數(shù)據(jù)和Hive建立映射。通過Sqoop作為數(shù)據(jù)橋梁,將傳統(tǒng)的數(shù)據(jù)也存入到NoSQL中來了,有了數(shù)據(jù),猴戲才剛剛開始。
猴年伊始
SQL處理二維表格數(shù)據(jù),是一種最樸素的工具,查詢、更新、修改、刪除這四種對數(shù)據(jù)的基本操作,是處理數(shù)據(jù)的一個巨大進(jìn)步。近些年,各種新的數(shù)據(jù)處理技術(shù)興起了,都想革SQL的命,這些技術(shù)也被大家統(tǒng)稱為NoSQL。
NoSQL最初的意思是No SQL,估計應(yīng)該是想和SQL劃清界線,就像GNU的遞歸縮寫GNU is Not Unix一樣。后來發(fā)現(xiàn),雖然大量的NoSQL技術(shù)起來了,但SQL還是活得好好的,照樣發(fā)揮著很多不可替代的作用。漸漸地,大家也發(fā)現(xiàn),原來這些新技術(shù),也只是在不同的應(yīng)用場景下對SQL的補(bǔ)充,因此也慢慢為NoSQL正名了,原來是Not Only SQL,即不僅僅是SQL,還有很多其它的處理非結(jié)構(gòu)化數(shù)據(jù)和應(yīng)用于各種場景的技術(shù)。甚至很多技術(shù),雖然是在NoSQL的框架下,但也慢慢的又往SQL方向發(fā)展。
NoSQL是一種技術(shù)或者框架的統(tǒng)稱,包括以Mongodb,Hadoop,Hive,Cassandra,Hbase,Redis等為代表的框架技術(shù),這些都在特定的領(lǐng)域有很多實際的應(yīng)用。而SQL領(lǐng)域的開源代表自然是MySQL了。
很多企業(yè)中,業(yè)務(wù)數(shù)據(jù)都是存放在MySQL數(shù)據(jù)庫中的,當(dāng)數(shù)據(jù)量太大后,單機(jī)版本的MySQL很難滿足業(yè)務(wù)分析的各種需求。此時,可能就需要將數(shù)據(jù)存入Hadoop集群環(huán)境中,那么本文的主角Sqoop便適時的出現(xiàn)了,用來架起SQL與NoSQL之間的數(shù)據(jù)橋梁。
MySQL導(dǎo)入HDFS
從MySQL導(dǎo)入到HDFS文件系統(tǒng)中,是最簡單的一種方式了,相當(dāng)于直接將表的內(nèi)容,導(dǎo)出成文件,存放到HDFS中,以便后用。
Sqoop最簡單的使用方式,就是一條命令,唯一需要的是配置相應(yīng)的參數(shù)。sqoop可以將所有參數(shù)寫在一行上,也可以寫在配置文件里面。因為導(dǎo)入的選項過多,通常我們都把參數(shù)寫在配置文件里面,以便更好的調(diào)試。在導(dǎo)入到HDFS的過程中,需要配置以下參數(shù):
使用import指令
數(shù)據(jù)源配置:驅(qū)動程序,IP地址,庫,表,用戶名,密碼
導(dǎo)入路徑,以及是否刪除存在的路徑
并行進(jìn)程數(shù),以及使用哪個字段進(jìn)行切分
字段選擇,以及字段分隔符
查詢語句:自定義查詢,Limit可以在此處使用
查詢條件:自定義條件