一,sqoop安装     

1.解压源码包
2.配置环境变量
3.在bin目录下的
  /bin/configsqoop 注释掉check报错信息
4.配置conf目录下
  /conf/sqoop-env.sh 配置hadoop和hive家目录
5.导入依赖的jar包至lib目录下
  mysql-connector-java-5.1.46-bin.jar
/share/hadoop/common/hadoop-common-2.7.2.jar
6.连接测试

二、命令介绍

  

version
import
list-databases
list-tables
create-hive-table    在hive中仅创建表结构 --connect         连接url ,在hive-site.xml中配置连接参数  
--username
--password --table
--columns
--query                where and $CONDITIONS (没有就会报错) --delete-target-dir         目标文件若存在在删除
--target-dir
--fields-terminated-by       默认逗号
--lines-terminated-by        默认换行符
--hive-import             以Hive的方式进行导入
--hive-database           导入到指定的Hive库中
--external-table-dir <hdfs path>:以外部表的形式创建
--hive-table             导入到指定的Hive表中
--hive-overwrite           是否覆盖导入
--split-by              指定分任务的操作列名
-m {d}                指定maptask数目(默认4)

三、数据导入

  1.数据导入到HDFS    

1.指定命令 -- (声明配置项 - 指定参数)
2.命令语句 -> 翻译成程序 -> 打成jar包
3.将jar包(核心程序 - 依赖jar包)提交至集群
4.简单的数据导出:只有Map阶段 -> 数据源:关系型数据库的数据(结构化的数据)
5.单表数据导出:将数据全部查出,拼接分隔符输出,Reduce阶段原样输出
6.默认使用4个MapTask执行 -> 产生了四个结果文件 -> 通过-m参数实现
7.默认使用第一列作为分割任务的列 -> 1(MIN(id))-100(MAX(id)) -> 确定固定的区间 -> --split-by指定分割列
8.在相应的目录下生成结果 -> 使用SQL(聚合函数运算或UDAF) -> -m 1

  2.数据导入到HIVE

  • 先将数据文件导入到HDFS上,产生一个临时文件
  • 成功后将数据上传到HIVE,成功则删除hdfs上的临时文件 
    1.导入至HDFS ->临时文件的路径:当前执行sqoop命令的家目录 -> 目录名称:不指定自动生成/也可以手动指定
    2.导入为HDFS时指定的部分参数会被Hive导入时进行读取(分隔符)
    3.如果目标表不存在则创建(数据表结构信息(数据源的表结构) - 命令指定的相关参数)
    4.如果目标表存在:默认追加导入,数据结构保持一致,目标Hive表的相关参数(分隔符)
    5.导入数据 -> 将中间目录的文件夹下的数据文件移动至内部表目录下

  3.打印信息相关理解

 sqoop import --connect jdbc:mysql://sz01:3306/test --username root --password root --table make --delete-target-dir --target-dir /home/haha
18/09/18 11:36:00 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7 1.sqoop版本
18/09/18 11:36:00 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
18/09/18 11:36:00 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset. 2.获取mysql的结果集
18/09/18 11:36:00 INFO tool.CodeGenTool: Beginning code generation 3.sql代码生成
18/09/18 11:36:01 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `make` AS t LIMIT 1
18/09/18 11:36:01 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `make` AS t LIMIT 1
18/09/18 11:36:01 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /home/bigdata/hadoop-2.7.2 4.hadoop-->MR
Note: /tmp/sqoop-bigdata/compile/5b8add033feeb0f72f4b3eac44ff00e9/make.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
18/09/18 11:36:04 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-bigdata/compile/5b8add033feeb0f72f4b3eac44ff00e9/make.jar 5生成jar文件
18/09/18 11:36:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
18/09/18 11:36:05 INFO tool.ImportTool: Destination directory /home/haha is not present, hence not deleting. 6.确认目标路径
18/09/18 11:36:05 WARN manager.MySQLManager: It looks like you are importing from mysql.
18/09/18 11:36:05 WARN manager.MySQLManager: This transfer can be faster! Use the --direct
18/09/18 11:36:05 WARN manager.MySQLManager: option to exercise a MySQL-specific fast path.
18/09/18 11:36:05 INFO manager.MySQLManager: Setting zero DATETIME behavior to convertToNull (mysql)
18/09/18 11:36:05 INFO mapreduce.ImportJobBase: Beginning import of make 7.开始导入数据
18/09/18 11:36:05 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar 8.开始替换MR
18/09/18 11:36:05 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps
18/09/18 11:36:06 INFO client.RMProxy: Connecting to ResourceManager at sz01/192.168.18.130:8032 9.连接RM
18/09/18 11:36:11 INFO db.DBInputFormat: Using read commited transaction isolation
18/09/18 11:36:11 INFO db.DataDrivenDBInputFormat: BoundingValsQuery: SELECT MIN(`id`), MAX(`id`) FROM `make` 10.划分任务
18/09/18 11:36:11 INFO db.IntegerSplitter: Split size: 67; Num splits: 4 from: 1 to: 272
18/09/18 11:36:11 INFO mapreduce.JobSubmitter: number of splits:4
18/09/18 11:36:11 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1537076834131_0011 11.提交JOB
18/09/18 11:36:12 INFO impl.YarnClientImpl: Submitted application application_1537076834131_0011
18/09/18 11:36:12 INFO mapreduce.Job: The url to track the job: http://sz01:8088/proxy/application_1537076834131_0011/
18/09/18 11:36:12 INFO mapreduce.Job: Running job: job_1537076834131_0011
18/09/18 11:36:27 INFO mapreduce.Job: Job job_1537076834131_0011 running in uber mode : false 12.执行job
18/09/18 11:36:27 INFO mapreduce.Job: map 0% reduce 0%
18/09/18 11:36:40 INFO mapreduce.Job: map 25% reduce 0%
18/09/18 11:36:41 INFO mapreduce.Job: map 50% reduce 0%
18/09/18 11:36:48 INFO mapreduce.Job: map 75% reduce 0%
18/09/18 11:36:50 INFO mapreduce.Job: map 100% reduce 0%
18/09/18 11:36:51 INFO mapreduce.Job: Job job_1537076834131_0011 completed successfully
18/09/18 11:36:52 INFO mapreduce.Job: Counters: 31 13.打印counters
File System Counters
FILE: Number of bytes read=0
FILE: Number of bytes written=548044
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=405
HDFS: Number of bytes written=2279
HDFS: Number of read operations=16
HDFS: Number of large read operations=0
HDFS: Number of write operations=8
Job Counters
Killed map tasks=1
Launched map tasks=4
Other local map tasks=4
Total time spent by all maps in occupied slots (ms)=34012
Total time spent by all reduces in occupied slots (ms)=0
Total time spent by all map tasks (ms)=34012
Total vcore-milliseconds taken by all map tasks=34012
Total megabyte-milliseconds taken by all map tasks=34828288
Map-Reduce Framework
Map input records=184
Map output records=184
Input split bytes=405
Spilled Records=0
Failed Shuffles=0
Merged Map outputs=0
GC time elapsed (ms)=470
CPU time spent (ms)=5830
Physical memory (bytes) snapshot=417902592
Virtual memory (bytes) snapshot=8252805120
Total committed heap usage (bytes)=121896960
File Input Format Counters
Bytes Read=0
File Output Format Counters
Bytes Written=2279
18/09/18 11:36:52 INFO mapreduce.ImportJobBase: Transferred 2.2256 KB in 46.2286 seconds (49.2985 bytes/sec)
18/09/18 11:36:52 INFO mapreduce.ImportJobBase: Retrieved 184 records. 18/09/18 13:24:59 INFO mapreduce.ImportJobBase: Publishing Hive/Hcat import job data to Listeners for table make
18/09/18 13:24:59 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `make` AS t LIMIT 1
18/09/18 13:24:59 INFO hive.HiveImport: Loading uploaded data into Hive
18/09/18 13:25:00 DEBUG hdfs.LeaseRenewer: Lease renewer daemon for [] with renew id 1 executed Logging initialized using configuration in jar:file:/home/bigdata/apache-hive-1.2.2-bin/lib/hive-jdbc-1.2.2-standalone.jar!/hive-log4j.properties
OK
Time taken: 5.158 seconds
Loading data to table user1.make
Table user1.make stats: [numFiles=4, totalSize=2279]
OK
Time taken: 1.244 seconds

四、日志记录

  1.自己配置
    conf目录下放入log4j.properties -> 日志级别,日志文件产生的目录以及名称
    lib目录下放入log4j相关jar包

  2.sqoop拉取数据时,实际是MR和HIVE数据导入导出

    可查看hadoop的logs/userlogs 和hive的日志

sqoop安装与简单实用的更多相关文章

  1. hook框架frida的安装以及简单实用案例

    1.下载地址 https://github.co/frida/frida/releases 2.另外两种安装方法 1.Install from prebuilt binaries This is th ...

  2. Selenium的安装和简单实用——PhantomJS安装

    简介 Selenium是一个用于Web应用程序测试的工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,S ...

  3. 实战ELK(3) Kibana安装与简单实用

    第一步:下载 https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-x86_64.rpm 第二步:安装 1.安装 yum install ...

  4. Sqoop 安装与简单测试

    sqoop基于Hadoop与Hive Hadoop https://www.cnblogs.com/xibuhaohao/p/11772031.html Hive      https://www.c ...

  5. Linux下Libevent安装和简单实用

    前言 Libevent 是一个用C语言编写的.轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大:源代码相 ...

  6. redis安装与简单实用

    1.在Linux上redis的安装时十分简单的: 第一步:wget http://download.redis.io/releases/redis-2.8.12.tar.gz 解压: tar zxvf ...

  7. Kafka入门 --安装和简单实用

    一.安装Zookeeper 参考: Zookeeper的下载.安装和启动 Zookeeper 集群搭建--单机伪分布式集群 二.下载Kafka 进入http://kafka.apache.org/do ...

  8. Logstash 安装及简单实用(同步MySql数据到Elasticsearch)(Windows)

    Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件 Windows环境: 1.下载logstas ...

  9. memcached 安装与简单实用使用

    一.简介 1.memcache与memcached的区别与联系: memcache是php的拓展,memcached是客户端,复杂的说:Memcache模块提供了于memcached方便的面向过程及面 ...

随机推荐

  1. toad调用存储过程,存储过程调用sql 类

    1.定义一个sql 类Hello DROP JAVA SOURCE NEWXZXT."Hello"; CREATE OR REPLACE AND RESOLVE JAVA SOUR ...

  2. linux下安装php扩展amqp

    1 安装扩展必要依赖 rabbitmq-c 安装包地址:https://github.com/alanxz/rabbitmq-c/releases wget -c https://github.com ...

  3. CSS 学习路线(二)选择器

    选择器 规则结构: 分两个基本部分 选择器(selector)和声明块(declaration block) 组成 声明块:由一个或多个声明组成,每一个声明都是属性-值对 选择器分为:元素选择器,类选 ...

  4. 关于换行这个动作,win 和 mac 的实现

    ‘\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed) \r 是回车,return\n 是换行,newline 对于换行这个动作 ...

  5. 如何快速找到指定端口被哪个程序占用并释放该端口(解决bindException)

    首先打开打开任务管理器,选择性能模块,下方有打开资源监视器,或者直接搜索资源监视器 在资源监视器中点击侦听端口模块,即可看到正在使用网络端口的应用程序名和pid,如果被占用可以直接使用命令行关闭即可 ...

  6. [iOS]app的生命周期

    对于iOS应用程序,关键的是要知道你的应用程序是否正在前台或后台运行.由于系统资源在iOS设备上较为有限,一个应用程序必须在后台与前台有不同的行为.操作系统也会限制你的应用程序在后台的运行,以提高电池 ...

  7. Leetcode名企之路

    微信扫码关注,每天推送一道面试题! 公众号:Leetcode名企之路 作者简介 知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学. 小米广告第三代广告引擎的设计者.开发者: 负责小米应用商店.日历.开 ...

  8. async函数结合promise的小案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. mysql数据库的导入导出命令

    1.备份一个数据库 mysqldump -h localhosot -uroot -ppassword 数据库名>数据库所在路径(路径+数据库名.sql) 注意:导出的数据库文件.sql文件不能 ...

  10. mysql数据库的系统操作基本操作

    本文主要总结并记录一下简单且常用的mysql 在cmd 窗口中操作的基本命令 命令停止mysql 数据库服务 1.(cmd)命令行 启动:net start mysql 停止:net stop mys ...