• 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

     

     

  • 相关阅读:
    NativeBuffering,一种高性能、零内存分配的序列化解决方案[性能测试篇]
    gflags学习笔记(一)gflags的介绍和安装(ubuntu环境)
    机器人工程是否有红利期
    在 Android Studio Java 项目里混合 Kotlin 编程
    大模型参数高效微调技术原理综述(二)-BitFit、Prefix Tuning、Prompt Tuning
    1s 创建100G文件,最快的方法是?
    System Design现代系统设计概论
    npm环境搭建
    Redis - 10、主从复制
    二十一、C位域
  • 原文地址:https://blog.csdn.net/weixin_64443786/article/details/130897922