Apache Hive是目前大型資料倉儲的免費首選產品之一,使用Apache Hive的人是不會期望在小資料量上做什麼文章,例如把MySQL中的資料搬到Hive/HBase中去,那樣的話原先很快能執行完畢的SQL,估計在 Hive上運行跟原來相比時間延長10倍都不止。但如果你有MySQL資料可以把大量的資料向Hive匯入,如果上億條的資料量再加上複雜的SQL查詢條 件對於MySQL來說是一件比較頭疼的事情,此時相比而言對於Hive來說還算比較easy沒有那麼非常的頭痛,但是兩者之間缺少一個溝通的橋樑。
而然偉大的雲端運算公司cloudera.com也是Hadoop強力支援者推出了Sqoop,Sqoop顧名思義SQL-to-Hadoop,在 sqoop中通過 ManagerFactory 抽象類別對多種資料庫類型進行了抽象,可以做到 Hsqldb、MySQL、Oracle、PostgreSQL 這些資料庫中的資料可以向Hive中寫入。
從匯出/匯入所有資料一條命令即可,而且可以對錶和資料的篩選,開發的效率提升和配置的簡潔是這個工具的特色所在,同樣的機器配置、機器數量、資料量和數 據內容,但是換了不同的環境得到了不同的執行效率,通過對RMDBS到Hadoop的遷移,帶來了效能的提升,所以就體現了sqoop的價值。
在一次開發大會上提到的Sqoop主要功能
JDBC-based implementation
Works with many popular database vendors
Auto-generation of tedious user-side code
Write MapReduce applications to work with your data, faster
Integration with Hive
Allows you to stay in a SQL-based environment
Extensible backend
Database-specific code paths for better performance
具體操作手冊相見:
http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html (官方)