1.sqoopのインストール
(1)CDHバージョンのsqoopをダウンロードします
(2)環境を解凍して構成します
環境変数は次のとおりです。
export SQOOP_HOME=/home/sqoop-1.4.6-cdh5.15.1
export PATH=$PATH:$SQOOP_HOME/bin
sqoopインストールディレクトリ/ conf /内:
#新建sqoop-env.sh文件
cp sqoop-env-template.sh sqoop-env.sh
#增加环境变量
1、hadoop_home
2、hive_home
3、hbase_home
(3)テストを開始します
sqoop help
そして接続テスト
sqoop list-databases --connect jdbc:mysql://IP地址/数据库--username 数据库的用户名 --password 数据库密码
2.sqoopを使用してmysqlデータをhdfsにインポートします
sqoop import --connect jdbc:mysql://IP地址/数据库 --username 数据库用户名 --password 数据库密码 --table 表名 --driver com.mysql.jdbc.Driver (驱动)
成功インターフェース:
既存のエラー:
(1)入力java.lang.ClassNotFoundException:クラスQueryResultが見つかりません
一時フォルダに、
jarパッケージをsqoopインストールディレクトリ/ libに配置します。
(2)入力org.apache.hadoop.mapred.FileAlreadyExistsException:出力ディレクトリhdfs://192.168.99.250:9000 / user / root / employeesはすでに存在します
hdfs内のファイルを削除するだけです。コマンド:hadoop dfs -rmr / folder path
(3)次のエラーが発生しました。これは、sqoopインストールディレクトリ/ libに配置されたjava-json.jarの欠如です。
3. sqoopを使用して、mysqlデータをハイブにインポートします
sqoop import --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees --hive-import --hive-table employees --driver com.mysql.jdbc.Driver
(1)新しいテーブルを作成します
成功!
クエリハイブ:
(1)出出エラーhive.HiveConfig:org.apache.hadoop.hive.conf.HiveConfを読み込めませんでした。HIVE_CONF_DIRが正しく設定されていることを確認してください。
エクスポートHADOOP_CLASSPATH = $ HADOOP_CLASSPATH:$ HIVE_HOME / lib / *を
/ etc / profileの最後に追加し、構成を更新します。ソース/ etc / profile
4. sqoopを使用して、Hadoopデータをmysqlにインポートします
(1)ローカルデータをhdfsにアップロードする
(2)コマンドを実行します
sqoop export --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees_s --export-dir edata --columns first_name,salary,dept --driver com.mysql.jdbc.Driver --input-fields-terminated-by '\001' --input-null-string '\n' --input-null-non-string '\n'
間違った理由:
フィールドに一貫性がなく、エンコーディングに一貫性がなく、utf-8に変更されています。
5.sqoopを使用してHiveデータをmysqlにインポートします
(1)ハイブテーブルの保存パスをhdfsで表示します
(2)エクスポート
sqoop export --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees_s --export-dir /user/hive/warehouse/employees --driver com.mysql.jdbc.Driver --input-fields-terminated-by '\001' --input-null-string '\n' --input-null-non-string '\n'
フィールドタイプに注意する必要があります!
6.ハイブはベースライブラリとしてoracleを接続します
hive-site.xmlファイルの内容を変更します。
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:oracle:thin:@IP地址:端口号:实例名</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>oracle.jdbc.OracleDriver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>username</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
</property>
</configuration>
ハイブサービスを再起動します
hive --service metastore &
7.Hiveは基本データベースとしてHbaseに接続します