Hbase基礎(六):Sqoop 簡介與原理、安裝
阿新 • • 發佈:2020-07-31
1 Sqoop 簡介
Sqoop 是一款開源的工具,主要用於在 Hadoop(Hive)與傳統的資料庫(mysql、postgresql...)間進行資料的傳遞,可以將一個關係型資料庫(例如 : MySQL ,Oracle ,Postgres 等)中的 資料導進到 Hadoop 的 HDFS 中,也可以將 HDFS 的資料導進到關係型資料庫中。 Sqoop 專案開始於 2009 年,最早是作為 Hadoop 的一個第三方模組存在,後來為了讓使用者能夠快速部署,也為了讓開發人員能夠更快速的迭代開發,Sqoop 獨立成為一個 Apache 專案。 Sqoop2 的最新版本是 1.99.7。請注意,2 與 1 不相容,且特徵不完整,它並不打算用於生產部署。2 Sqoop 原理
第 3 章 Sqoop 安裝
安裝 Sqoop 的前提是已經具備 Java 和 Hadoop 的環境。 3.1 下載並解壓 1) 下載地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/ 2) 上傳安裝包 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 到虛擬機器中 3) 解壓 sqoop 安裝包到指定目錄,如: $ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/ 3.2 修改配置檔案 Sqoop 的配置檔案與大多數大資料框架類似,在 sqoop 根目錄下的 conf 目錄中。 1) 重新命名配置檔案$ mv sqoop-env-template.sh sqoop-env.sh
export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2 export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2 export HIVE_HOME=/opt/module/hive export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10 export ZOOCFGDIR=/opt/module/zookeeper-3.4.10 export HBASE_HOME=/opt/module/hbase3.3 拷貝 JDBC 驅動 拷貝 jdbc 驅動到 sqoop 的 lib 目錄下,如:
$ cp mysql-connector-java-5.1.27-bin.jar3.4 驗證 Sqoop 我們可以通過某一個 command 來驗證 sqoop 配置是否正確:/opt/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/
$ bin/sqoop help出現一些 Warning 警告(警告資訊已省略),並伴隨著幫助命令的輸出:
Available commands: codegen Generate code to interact with database records create-hive-table Import a table definition into Hive eval Evaluate a SQL statement and display the results export Export an HDFS directory to a database table help List available commands import Import a table from a database to HDFS import-all-tables Import tables from a database to HDFS import-mainframe Import datasets from a mainframe server to HDFS job Work with saved jobs list-databases List available databases on a server list-tables List available tables in a database merge Merge results of incremental imports metastore Run a standalone Sqoop metastore version Display version information3.5 測試 Sqoop 是否能夠成功連線資料庫
$ bin/sqoop list-databases --connect jdbc:mysql://hadoop102:3306/ --username root --password 000000出現如下輸出:
information_schema
metastore
mysql
oozie
performance_schema