Sqoop学习
Sqoop交比较简单,是hadoop生态系统的架构最简单的框架
Sqoop由client端直接接入hadoop,任务通过解析生成对应的mapcut
导入:database————>hdfs
导出:丛hdfs往外写hdfs————>database
上传文件并解压:
进入conf包,修改sqoop的名
mv sqoop-env-template.sh sqoop-env.sh
查看版本
./sqoop version
进入文件修改etc文件
复制mysql驱动包到lib包下:
cp /root/mysql-connector-java-5.1.32-bin.jar ./
连接数据库:
sqoop list-databases -connect jdbc:mysql://192.168.198.21:3306/ -user
name root -password 123
创建文本:
mkdir sqoop
并创建文档:
cd sqoop
文档内容:
import
--connect
jdbc:mysql://192.168.198.21:3306/test
--username
root
--password
123
--target-dir
/sqoop/
--table
t_test
--columns
id,name
-m
1
创建文档完了之后执行:
sqoop --options-file option
查看内容;
hdfs dfs -cat /sqoop/part-m-00000
以上为导入:
以下为导出:
创建option文件:
mport
--connect
jdbc:mysql://192.168.198.21/test
--username
root
--password
123
--as-textfile
--query
'select id, name, msg from t_test where id like "1%" and $CONDITIONS'
--delete-target-dir
--target-dir
/sqoop/tmp
-m
1
--hive-home
/root/apache-hive-1.2.1-bin--hive-import
--create-hive-table
--hive-table
t_test
创建文档完了之后执行:
sqoop --options-file option2
查看内容;
hdfs dfs -cat /sqoop/part-m-00000
导出:
创建option文档:
export
--connect
jdbc:mysql://192.168.198.21/test
--username
root
--password
123
-m
1
--columns
id,name,msg
--export-dir
/user/hive/warehouse/psn/age=10
--table
h_psn
创建文档完了之后执行:
sqoop --options-file option2
查看内容;
hdfs dfs -cat /sqoop/part-m-00000
Sqoop的两种执行方式:
$ sqoop import --connect jdbc:mysql://localhost/db --username foo --table TEST
$ sqoop --options-file /users/homer/work/import.txt --table TEST
where the options file /users/homer/work/import.txt contains the following:
import
--connect
jdbc:mysql://localhost/db
--username
foo
Target:目标,靶子,实验对象
执行option文件:
sqoop --options-file optio
查看文件:
hdfs dfs -cat /sqoop/part-m-00000