• Sqoop基本操作


    目录

     

    一、mysql->hdfs

    二、hdfs->mysql

    三、mysql->hive

    四、hive->mysql

    五、sqoop job操作


     

    一、mysql->hdfs

    (1)全表导入

    1. sqoop import --connect jdbc:mysql://127.0.0.1:3306/test \
    2. --username root --P \
    3. --table student1 --target-dir '/sqoop/student1' \
    4. --driver com.mysql.jdbc.Driver -m 1

     使用--P会提示输入密码,也可使用--password,后面直接跟上密码,如--password root。

     (2)满足条件的导入

    1. sqoop import --connect "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8" \
    2. --username root --password root \
    3. --table student1 --columns 'xm,bj' \
    4. --where 'bj like "生物%"' \
    5. --target-dir '/sqoop/student1' --driver com.mysql.jdbc.Driver \
    6. -m 1 --delete-target-dir

    (3)增量导入(按自动增长的整数列)

    1. sqoop import --connect jdbc:mysql://127.0.0.1:3306/test \
    2. --username root --password root \
    3. --table t1 --target-dir '/sqoop/t1' --driver com.mysql.jdbc.Driver -m 1 \
    4. --check-column id --incremental append --last-value 1

    二、hdfs->mysql

    1. sqoop export --connect "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" \
    2. --username root --password root \
    3. --export-dir '/sqoop/sqoopex1.txt' --table sqoop1 \
    4. --input-fields-terminated-by '\t' --driver com.mysql.jdbc.Driver

    三、mysql->hive

    (1)全表导入

    1. sqoop import --connect jdbc:mysql://localhost:3306/test \
    2. --username root --password root --table student1 \
    3. --hive-import --hive-table student1 --hive-database hive1 \
    4. --driver com.mysql.jdbc.Driver --delete-target-dir -m 1

    (2)满足条件导入

    1. sqoop import --connect jdbc:mysql://localhost:3306/test \
    2. --username root --password root --table student1 \
    3. --columns 'xm,bj' --where 'bj like "生物%"' --hive-import \
    4. --hive-table student1 --hive-database hive1 \
    5. --driver com.mysql.jdbc.Driver --delete-target-dir -m 1

    四、hive->mysql

    可转换为hdfs->mysql

    五、sqoop job操作

    (1)建立mysql密码文件,再创建job,否则执行时会提示输入密码

    1. #root代表数据库密码,可根据需求改成自己的mysql密码
    2. echo -n "root" > .mysql.password

    (2)创建job

    1. sqoop job --create job1 -- import --connect jdbc:mysql://localhost:3306/test \
    2. --username root --password-file file:///home/hadoop/temp/.mysql.password \
    3. --table t1 --target-dir /sqoop/t1 --driver com.mysql.jdbc.Driver -m 1 \
    4. --check-column id --incremental append --last-value 0 --verbose

    (3)查看job

    1. sqoop job --show job1
    2. sqoop job --list

    (4)执行job

    sqoop job --exec job1

    (5)删除执行完的job

    sqoop job --delete job1

     

     

  • 相关阅读:
    如何使用Java反射机制运行类中指定方法呢?
    postgreSQL 导出数据、导入
    alsa pcm接口之pcm设备的状态STATE
    Makefile 中一些常用语法讲解
    SQL之流程控制函数
    Go 语言面试题(三):并发编程
    轻松应对80% 的工作场景?GitHub 爆赞的 Java 高并发与集合框架,面试官也拿我没辙
    OPC学习笔记一
    MVCC 过程中会加锁吗?
    PTA浙大版《C语言程序设计(第3版)》练习7-3 将数组中的数逆序存放
  • 原文地址:https://blog.csdn.net/weixin_64443786/article/details/130897922