您好,登錄后才能下訂單哦!
Sqoop作為Hadoop與傳統數據庫之間的橋梁,對于數據的導入導出有著重要作用。通過對Sqoop基本語法以及功能的闡述,深刻解密Sqoop的作用和價值。
一、什么是Apache Sqoop?
Cloudera開發的Apache開源項目,是SQL-to-Hadoop的縮寫。主要用于在Hadoop(Hive)與傳統的數據庫(mysql、postgresql...)間進行數據的傳遞,可以將一個關系型數據庫(例如: MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關系型數據庫中。在導入數據的時候,既可以導入整個數據庫,也可以導入單個表、所有表或表的部分數據到HDFS,在導入數據的同時可以導成各種格式。除此之外,Sqoop可以從HDFS導出數據到數據庫,所以sqoop它擁有雙向的作用。
二、Sqoop如何工作?
Sqoop工作也是基于計算框架MapReduce,MapReduce會把提交的SQL導數轉換成MapReduce作業,然后提交到集群。總體來說分成三個步驟:
1、檢查表詳情
2、創建和提交作業到集群
3、獲取表記錄并寫入數據到HDFS
三、基本語法:
Sqoop是一個帶很多子命令的命令行工具,有很多用來導入、導出、列出數據庫內容等工具。通常我們先列出數據庫有哪些表,然后再去導相應的表。如果想要去看sqoop所有的工具,可以運行sqoop help來查看所有工具列表,在這里也建議大家習慣使用help,去查找一些使用參數。另外,也可以運行sqoop help tool-name來查看特定工具的幫助(如import,export)。
Sqoop調用的基本語法
四、使用Sqoop探索數據庫:
通常在導數據之前我們先要探索一下數據庫,去了解數據庫里面都有哪些表,一般有兩種方式:
1、List-tables:列出所有MySQL中loudacre數據庫的表
2.eval:執行數據庫查詢
Sqoop作為Hadoop家族重要的一員,我們需要著重認知和把握,對于我們了解和學習大數據有著重要的幫助。平常大家也可以關注一些大數據的資訊,了解大數據發展的趨勢和一些行業經典案例。尤其是現在網絡媒體興盛,信息傳播迅速,比如微信服務號,我自己平時就喜歡從上面找一些案例,像大數據cn就很不錯。但是技術永遠都是有門檻的,只有不斷學習交流才可以不斷進步,最近我在大數據時代學習中心這個服務號也學到了一些其他人分享的經驗,對于我個人幫助也很大。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。