• Sqoop笔记 -- 导入导出


    测试Sqoop 是否可以连接数据库

    sqoop list-databases  
    --connect jdbc:mysql://hadoop2:3306/   
    --username root  
    --password 123456
    

    MySQL导入到HDFS上

    全部导入

    sqoop import 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --table staff 
    --target-dir /sqoop/ 
    --delete-target-dir 
    --num-mappers 1 
    --fields-terminated-by "	"
    

    delete-target-dir 删除存在的目录

    查询导入

    sqoop import 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --target-dir /sqoop 
    --delete-target-dir 
    --num-mappers 1 
    --fields-terminated-by "	" 
    --query 'select name,sex from staff where id <=1 and $CONDITIONS;'
    

    导入指定的列

    sqoop import 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --target-dir /sqoop 
    --delete-target-dir 
    --num-mappers 1 
    --fields-terminated-by "	" 
    --columns id,sex 
    --table staff
    

    使用sqoop关键字筛选查询导入数据

    sqoop import 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --target-dir /sqoop/a 
    --delete-target-dir 
    --num-mappers 1 
    --fields-terminated-by "	" 
    --table staff 
    --where "id=1"
    

    RDBMS到Hive

    如果Hive中没有对应的表,则自动创建

    sqoop import 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --table staff 
    --num-mappers 1 
    --hive-import 
    --fields-terminated-by "	" 
    --hive-overwrite 
    --hive-table staff_hive
    

    RDBMS到HBase

    需要手动创建HBase表,hbase> create 'hbase_company','info'

    sqoop import 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --table staff 
    --columns "id,name,sex" 
    --hbase-create-table 
    --hbase-table "hbase_company" 
    --column-family "info" 
    --hbase-row-key "id" 
    --num-mappers 1 
    --split-by id
    

    HIVE/HDFS到RDBMS

    MySQL中如果表不存在,不会自动创建

    sqoop export 
    --connect jdbc:mysql://hadoop2:3306/test 
    --username root 
    --password 123456 
    --table staff_copy1 
    --num-mappers 1 
    --export-dir /user/hive/warehouse/staff_hive 
    --input-fields-terminated-by "	"
    

    执行脚本

    使用opt格式的文件打包sqoop命令,然后执行

    创建一个.opt文件

    mkdir opt
    touch opt/job_HDFS2RDBMS.opt
    

    编写Sqoop脚本

    export
    --connect
    jdbc:mysql://hadoop2:3306/test
    --username
    root
    --password
    123456
    --table
    staff_copy2
    --num-mappers
    1
    --export-dir
    /user/hive/warehouse/staff_hive
    --input-fields-terminated-by
    "	"
    

    执行脚本

    bin/sqoop --options-file opt/job_HDFS2RDBMS.opt
    
  • 相关阅读:
    Json对象和Json字符串
    主界面的构造函数报错
    WPF DataGrid绑定的数据源更新后界面信息不更新
    WPF 数据绑定 ( 经验 )
    WPF 简单快速地去掉Button控件的边框
    字节数组与字符串形式的数字(序列号)之间的相互转换
    将十进制数字转换为字节数组
    WPF 调用线程无法访问此对象,因为另一个线程拥有该对象。
    cmd中一些命令
    Notepad++运行快捷键的设置
  • 原文地址:https://www.cnblogs.com/junzifeng/p/11830857.html
Copyright © 2020-2023  润新知