• Sqoop导入导出的几个例子



    Sqoop导入导出的几个例子

     
    node2
    Sqoop参数介绍_其他命令_导入导出

    导入

    例一:从DBMS到HDFS
    1.node4下启动mysql
    service mysqld start
    mysql -u root -p
    输入密码:123
     
    2.node4下创建test数据库
    create database test;
    创建psn表
     
    3.node2中创建sqoop_test,编辑sqoop1
    1. import
    2. --connect
    3. jdbc:mysql://node4/test
    4. --username
    5. root
    6. --password
    7. 123
    8. --as-textfile
    9. --columns
    10. id,name,msg
    11. --table
    12. psn
    13. --delete-target-dir
    14. --target-dir
    15. /sqoop/data
    16. -m
    17. 1
     
    4.执行命令--从DBMS导入到HDFS
    1. sqoop --options-file sqoop1//选项使用脚本
    sqoop --options-file sqoop1
     
     
     
     
     
    例二:从DBMS到Hive
    注意!
    $CONDITIONS规定
    --as-textfile  //以文本的方式进行存储
    /sqoop/tmp先将数据导入hdfs的临时目录,再将数据导入hive的目录
     
    1.node4下启动mysql
    service mysqld start
    mysql -u root -p
    输入密码:123
     
    2.node4下创建test数据库
    create database test;
    创建psn表
     
    3.node2中创建sqoop_test,编辑sqoop2
    -e,--query和--table两个选项是冲突的,因为一个是指定单表,一个是指定多表的导入;
    --warehouse-dir指定导入到hive中的时候到底从哪个目录下面导入;这个选项和hive中的warehouse-dir
    配置项很像;
    --hive-home指定hive的安装目录,如果节点上面配置了环境变量,并且导入了需要的jar包,那么就不需要
    指定了;
     
    sqoop将关系型数据库中的数据导入到hive中去的话,首先需要将数据导入到hdfs上面,因此需要先指定
    hdfs上面一个临时存储这些数据的目录,然后才会把hdfs上面的数据导入到hive中去;也就是首先使用mr
    到hdfs上面,然后在创建hive的表;可以再打开一个终端,查看hive中的表创建的情况;创建的时候
    首先在mysql通过查看表字段,然后在hive中创建;我们没有指定hive表存放在什么位置。这个位置是由
    hive的配置文件指定的,需要在那个位置查看;
    1. import
    2. --connect
    3. jdbc:mysql://node4/test
    4. --username
    5. root
    6. --password
    7. 123
    8. --as-textfile
    9. --query
    10. 'select id, name, msg from psn where id like "1%" and $CONDITIONS'
    11. --delete-target-dir
    12. -target-dir
    13. /sqoop/tmp
    14. -m
    15. 1
    16. --hive-home
    17. /home/hive-1.2.1
    18. --hive-import
    19. --create-hive-table
    20. --hive-table
    21. t_test
     
    4.执行命令--从DBMS导入到Hive
    先启动hive服务端node2:    hive --service metastore
    再启动hive客户端node1:
        hive
    sqoop --options-file sqoop2
    node1查看表t_test是否生成
     

    导出

    例三:从HDFS到DBMS
    指定HDFS中数据对应的目录
     
    1.node4下启动mysql
    service mysqld start
    mysql -u root -p
    输入密码:123
     
    2.node4下创建test数据库
    create database test;
    创建h_psn表
     
     
    3.node2中创建sqoop_test,编辑sqoop3
    1. export
    2. --connect
    3. jdbc:mysql://node4/test
    4. --username
    5. root
    6. --password
    7. 123
    8. -m
    9. 1
    10. --columns
    11. id,name,msg
    12. --export-dir
    13. /sqoop/data
    14. --table
    15. h_psn
    4.执行sqoop命令
    查看mysql中的表,看数据是否导入
     
     
     
    例四:从Hive到DBMS
     
     
     

     
     

    附件列表

  • 相关阅读:
    制作Autorun的CD
    Sybase ASE MDA tables 装不上怎么办?
    对于TStringList.Find函数,我有话要说
    HH.exe CHM Operator Command.
    Delphi 7的一些常用的快捷键
    Explain Plan
    在Delphi中的Log
    subst windows下实用的磁盘映射工具
    Excel 2007 如何冻结多行&多列
    LinqToDataTable[转]
  • 原文地址:https://www.cnblogs.com/haozhengfei/p/a12e3906f6fbcc8050197a2808b26f86.html
Copyright © 2020-2023  润新知