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