1031
人物
基於 EMR 的大數據計算__典型應用_用戶指南_雲數據庫 RDS 版-阿裏雲
E-MapReduce 是一項 Web 服務,簡化了大數據處理,提供的大數據框架可以讓您輕鬆、高速、經濟、安全、穩定地處理大數據,滿足如日誌分析、數據倉庫、商業智能、機器學習、科學模擬等業務需求。您可以運行 Hadoop、Spark 分析 RDS 中數據,也可以把分析完成的數據存放到 RDS 中,提供給在線係統使用。
通過 Sqoop 組件,可以實現 RDS 與 E-MapReduce 間數據的導入導出,實現大數據分析處理。
前提條件
- 已開通 E-MapReduce 服務,並完成項目設置。
- E-MapReduce 版本從 1.3 開始都會默認支持 Sqoop 組件,所以您無需自行安裝。
操作步驟
我們這裏主要介紹幾個常見的數據導入導出場景:
說明:在執行下麵的命令前,請先使用 su hadoop
命令切換你的用戶為 Hadoop。
從 MySQL 到 HDFS
在集群的 Master 節點上執行如下命令:
sqoop import --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --table <tablename> --target-dir <hdfs-dir>
參數說明如下:
- dburi:數據庫的訪問連接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:數據庫的名字,例如 user
- username:數據庫登錄用戶名
- password:用戶對應的密碼
- tablename:MySQL 表的名字
- hdfs-dir:hdfs 的寫入目錄,例如 /user/hive/result
詳細的參數使用說明請參見 Sqoop Import。
從 HDFS 到 MySQL
創建好對應 HDFS 中的數據結構的 MySQL 表。
在集群的 Master 節點上執行如下命令,指定要導出的數據文件的路徑。
sqoop export --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --table <tablename> --export-dir <hdfs-dir>
- dburi:數據庫的訪問連接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:數據庫的名字,例如 user
- username:數據庫登錄用戶名
- password:用戶對應的密碼
- tablename:MySQL 的表的名字
- hdfs-dir:要導到 MySQL 去的 HDFS 的數據目錄,例如 /user/hive/result
詳細的參數使用說明請參見 Sqoop Export。
從 MySQL 到 Hive
將數據導入 Hive 的同時也新建一個 Hive 表。
sqoop import --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --table <tablename> --fields-terminated-by "t" --lines-terminated-by "n" --hive-import --target-dir <hdfs-dir> --hive-table <hive-tablename>
- dburi:數據庫的訪問連接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:數據庫的名字,例如 user
- username:數據庫登錄用戶名
- password:用戶對應的密碼
- tablename:MySQL 的表的名字
- hdfs-dir:要導到 MySQL 去的 HDFS 的數據目錄,例如 /user/hive/result
- hive-tablename:對應的 Hive 中的表名,可以是 xxx.yyy
詳細的參數使用說明請參見 Sqoop Import。
從 Hive 到 MySQL
請參見從 HDFS 到 MySQL,隻需要指定 Hive 表對應的 HDFS 路徑即可。
使用 SQL 作為導入條件
除了指定 MySQL 的全表導入,還可以寫 SQL 來指定導入的數據
sqoop import --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --query <query-sql> --split-by <sp-column> --hive-import --hive-table <hive-tablename> --target-dir <hdfs-dir>
- dburi:數據庫的訪問連接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:數據庫的名字,例如 user
- username:數據庫登錄用戶名
- password:用戶對應的密碼
- query-sql:使用的查詢語句,例如
SELECT * FROM profile WHERE id>1 AND $CONDITIONS
。記得要用引號包圍,最後一定要帶上AND $CONDITIONS
- sp-column:進行切分的條件,一般跟 MySQL 表的主鍵
- hdfs-dir:要導到 MySQL 去的 HDFS 的數據目錄,例如 /user/hive/result
- hive-tablename:對應的 Hive 中的表名,可以是 xxx.yyy
詳細的參數使用說明請參見 Sqoop Query Import。
集群和其他數據庫的網絡配置請參見 用 Aliyun E-MapReduce 集群的 Sqoop 工具和數據庫同步數據如何配置網絡。
最後更新:2016-11-23 16:04:12
上一篇:
基於MaxCompute的大數據計算__典型應用_用戶指南_雲數據庫 RDS 版-阿裏雲
下一篇:
常用 SQL 命令(MySQL)__附錄_用戶指南_雲數據庫 RDS 版-阿裏雲
配置 IDEA 開發環境__開發工具準備_開發者指南_企業級分布式應用服務 EDAS-阿裏雲
域名分組__域名操作_產品使用手冊_雲解析-阿裏雲
BootstrapAction__數據類型_API參考_E-MapReduce-阿裏雲
授權安全組權限__安全組相關接口_API 參考_雲服務器 ECS-阿裏雲
配置示例__EDAS 中的 Dubbo 開發_開發者指南_企業級分布式應用服務 EDAS-阿裏雲
發送郵件的三種方式__發送郵件_使用手冊_郵件推送-阿裏雲
調試運行__腳本開發_Lite用戶使用手冊_性能測試-阿裏雲
sort示例__示例程序_MapReduce_大數據計算服務-阿裏雲
應用案例__安全組_用戶指南_雲服務器 ECS-阿裏雲
查詢實例資源規格列表__其他接口_API 參考_雲服務器 ECS-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲