zoukankan      html  css  js  c++  java
  • [Sqoop]-导入导出

    1.概述

      Sqoop的导入导出,是Sqoop的核心功能.导入导出,是针对Hadoop而言.所以

        Sqoop导入 : RDBMS数据导入到Hadoop

        Sqoop导出: Hadoop数据导出到RDBMS中

      Sqoop导入时,会

    2.导入  

      2.1 导入到HDFS

    sqoop import /
    --connect <jdbc-uri> /
    --username <username> /
    --password <password> /
    -m setMapNum 
    --mapreduce-job-name jobNameForUI 
    --target-dir HDFS_DIR 
    --fields-terminated-by '	' 
    --null-string '' --null-non-string '0' 
    --query "RDBMS_SQL AND $CONDITIONS" 
    --split-by 'MapSplitWithColumn'
    --delete-target-dir 

        delete-target-dir 谨慎使用,务必确认是可以删除HDFS的目标文件的,防止误删除

        split-by 是Sqoop的分片算法列.Sqoop的数据分片是分别查询目标列的最大值和最小值,再根据这个最大值和最小值区间,根据设定的Map数量进行分片的.所以这个字段多非数字类型字段支持非常不好.最好选用数字的连续的列作为分片列

     

      2.2 导入到Hive

    sqoop import 
    --connect jdbc:mysql://localhost:3306/sqoop 
    --username root 
    --password root 
    -m 2 
    --table emp 
    --null-string '' --null-non-string '0' 
    --mapreduce-job-name jobNameForUI 
    --fields-terminated-by '	' 
    --hive-database test 
    --hive-table emp_partition 
    --hive-import 
    --hive-partition-key 'pt' 
    --hive-partition-value '2018-08-08' 
    --hive-overwrite 
    --delete-target-dir 

        --create-hive-table  导入到Hive不建议使用自动创建Hive表,最好是自行在Hive创建表和列.因为自动创建的表的字段类型,是依据导入数据推断出来的.如果有浮点数等情况,特别容易发生精度丢失.

    3.导出

      3.1 HDFS导出到MySQL

    sqoop export 
    --connect jdbc:mysql://localhost:3306/sqoop 
    --username root 
    --password root 
    -m 2 
    --mapreduce-job-name FromHDFSToMySQL 
    --table emp_demo 
    --export-dir /user/hadoop/emp
  • 相关阅读:
    MySQL不支持事务处理的解决方法
    一般是HTTP_ACCEPT这个服务器变量中如果包含如下几个字符串,就可以判断是手机
    传入http请求的UserAgent 根据它判断是手机还是电脑发送过来的请求
    pageHtml.cs
    分享QQ空间js代码
    sql游标模板
    IIS 7.5 配置伪静态-
    C:WindowsSystem32driversetc
    在 IIS7 URLRewriter重写配置
    [ASP.net教程]vs2012创建mvc4项目部署iis所遇到的问题
  • 原文地址:https://www.cnblogs.com/NightPxy/p/9163297.html
Copyright © 2011-2022 走看看