Sqoop-1.4.6的安装和配置
来源:互联网 发布:金薇内衣网络传销吗 编辑:程序博客网 时间:2024/04/30 06:48
准备工作
- 1.搭建好的hadoop分布式系统
- 2.mysql-connector-java-5.1.43-bin.jar和sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz安装包
安装
解压sqoop安装包实现sqoop的安装
#tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local/hadoop //解压实现安装#cd /usr/local/hadoop //进入sqoop的安装目录#mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz sqoop-1.4.6 //重命名sqoop
配置
- 1.配置sqoop的环境变量
#vim /etc/profile
添加如下记录:
SQOOP_HOME=/usr/local/hadoop/sqoop-1.4.6export PATH=$SQOOP_HOME/bin:$PATH
使配置文件生效
#source /etc/profile
- 2.复制mysql-connector-java-5.1.43-bin.jar到sqoop/lib目录下
#cp mysql-connector-java-5.1.43-bin.jar /usr/local/hadoop/sqoop-1.4.6/lib
- 3.修改配置文件sqoop-env.sh
#vim /usr/local/hadoop/sqoop-1.4.6/conf/sqoop-env.sh
将配置文件做如下改变:
#Set path to where bin/hadoop is availableexport HADOOP_COMMON_HOME=/usr/local/hadoop/hadoop-2.7.3#Set path to where hadoop-*-core.jar is availableexport HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-2.7.3#set the path to where bin/hbase is available#export HBASE_HOME=#Set the path to where bin/hive is available#export HIVE_HOME=#Set the path for where zookeper config dir is#export ZOOCFGDIR=
- 4.修改文件
#vim /usr/local/hadoop/sqoop-1.4.6/bin/configure-sqoop
注释掉如下内容:
## Moved to be a runtime check in sqoop.#if [ ! -d "${HBASE_HOME}" ]; then# echo "Warning: $HBASE_HOME does not exist! HBase imports will fail."# echo 'Please set $HBASE_HOME to the root of your HBase installation.'#fi### Moved to be a runtime check in sqoop.#if [ ! -d "${HCAT_HOME}" ]; then# echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."# echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'#fi##if [ ! -d "${ACCUMULO_HOME}" ]; then# echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."# echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'#fi#if [ ! -d "${ZOOKEEPER_HOME}" ]; then# echo "Warning: $ZOOKEEPER_HOME does not exist! Accumulo imports will fail."# echo 'Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.'#fi
选择注释掉这些内容的原因:在执行sqoop语句的时候常常有几个warning警告,这些警告就是注释掉的部分引起的。除非你准备使用HCatalog,Accumulo等hadoop上的组件,就可以不注释。
查看帮助
[root@Master ~]# sqoop help17/08/22 06:23:52 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6usage: sqoop COMMAND [ARGS]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 informationSee 'sqoop help COMMAND' for information on a specific command.
import主要参数
--connect <jdbc-uri> //jdbc连接地址--connection-manager <class-name> //连接管理者--driver <class-name> //驱动类--hadoop-mapred-home <dir> //$HADOOP_MAPRED_HOME--help //help信息--password <password> //密码--username <username> //账号--verbose //打印信息--connection-param-file <filename> //可选参数-P //从命令行输入密码
export主要参数
--direct //快速导入--export-dir <dir> //HDFS导出数据的目录--table <table-name> //导出哪个表--call <stored-proc-name> //存储过程--update-key <col-name> //通过哪个字段来判断更新--update-mode <mode> //插入模式,默认是只更新,可以设置为allowinsert.--input-null-string <null-string> //字符类型null处理--input-null-non-string <null-string> //非字符类型null处理--staging-table <staging-table-name> //临时表--clear-staging-table //清空临时表--batch //批量模式-m,--num-mappers <n> //都少个map线程
转义字符相关参数
--enclosed-by <char> //设置字段结束符号--escaped-by <char> //用哪个字符来转义--fields-terminated-by <char> //字段之间的分隔符--lines-terminated-by <char> //行分隔符--mysql-delimiters //使用mysql的默认分隔符: , lines: \n escaped-by: \ optionally-enclosed-by: '--optionally-enclosed-by <char> //复制结束符
常用命令
显示mysq中的数据库
#sqoop list-databases --connect jdbc:mysql://123.207.101.174:3306/ --username 用户名 --password 密码
显示某mysql数据库中的表
#sqoop list-tables --connect jdbc:mysql://123.207.101.174:3306/数据库名 --username 用户名 --password 密码
将mysql数据库中的数据导入HDFS中
#sqoop import --connect jdbc:mysql://123.207.101.174:3306/数据库名 --username 用户名 --password 密码--table msg --fields-terminated-by '\t' -m 1
将mysql数据库中的数据导入hive中
#sqoop import --connect jdbc:mysql://123.207.101.174:3306/数据库名 --username 用户名 --password 密码--table msg --hive-import --fields-terminated-by '\t' -m 1注:将mysql数据库中的数据导入hive中实际上内部执行了三个步骤:1.将数据导入HDFS中2.在hive中创建与mysql中同名的表3.将HDFS中的数据传入hive表中同时删除HDFS上的数据
将HDFS中的数据导出到mysql数据库中
#sqoop export --connect jdbc:mysql://123.207.101.174:3306/数据库名 --username 用户名 --password 密码--table 表名 --export-dir /user/root/msg/part-m-00000 --input-fields-terminated-by '\t'注:导入之前需要先在mysql数据库中创建和被导入的表表结构一样的表
将hive中的数据导入到mysql数据库中
#sqoop export --connect jdbc:mysql://123.207.101.174:3306/数据库名 --username 用户名 --password 密码--table 表名 --export-dir /user/hive/warehouse/msg/part-m-00000 --input-fields-terminated-by '\t'注:导入之前需要先在mysql数据库中创建和被导入的表表结构一样的表
将关系型数据库的表结构复制到hive中
#sqoop create-hive-table --connect jdbc:mysql://123.207.101.174:3306/数据库名 --username 用户名 --password 密码--table 表名 --hive-table hive表名 --fields-terminated-by "\0001" --lines-terminated-by "\n";
Over
阅读全文
0 0
- Sqoop-1.4.6的安装和配置
- Sqoop的安装和配置
- sqoop-1.4.6安装配置
- SQOOP的安装配置
- SQOOP的安装配置
- Sqoop的安装配置
- sqoop 1.4 安装配置
- sqoop-1.4.6的安装
- sqoop-1.4.6 安装及配置
- Sqoop 1.4.4 配置安装
- 【hadoop Sqoop】Sqoop 1.4.6 安装
- sqoop的安装和使用
- sqoop的安装和原理
- sqoop的安装和使用
- sqoop的安装和使用
- Sqoop-1.4.6的简要安装
- 【配置】sqoop安装配置
- Sqoop 1.4.6 安装配置关联hadoop Hive Zookeeper
- Python入门
- 第K小数
- 便捷效率处理CAD转PDF方法你知道吗?
- 谷歌浏览器程序员开发工具,究极使用技巧
- unity3d 导入动画一帧切问题
- Sqoop-1.4.6的安装和配置
- 微信支付流程指引
- Base Line
- just for test
- poj_3301_三分_凹函数_求能覆盖N个点的最小正方形_对坐标系旋转_求新坐标
- 搭建一台文件服务器
- [Swift3] 对图片进行裁剪
- POJ
- 令牌桶算法实现限流