zoukankan      html  css  js  c++  java
  • sqoop实战一 增量导入hdfs

     1. 参数说明

    序号

    命令/command

    说明

    1

    impor

    ImportTool

    从关系型数据库中导入数据(来自表或者查询语句)到HDFS中

    2

    export

    ExportTool

    将HDFS中的数据导入到关系型数据库中

    3

    codegen

    CodeGenTool

    获取数据库中某张表数据生成Java并打成jar包

    4

    create-hive-table

    CreateHiveTableTool

    创建Hive表

    5

    eval

    EvalSqlTool

    查看SQL执行结果

    6

    import-all-tables

    ImportAllTablesTool

    导入某个数据库下所有表到HDFS中

    7

    job

    JobTool

     

    8

    list-databases

    ListDatabasesTool

    列出所有数据库名

    9

    list-tables

    ListTablesTool

    列出某个数据库下所有表

    10

    merge

    MergeTool

     

    11

    metastore

    MetastoreTool

     

    12

    help

    HelpTool

    查看帮助

    13

    version

    VersionTool

    查看版本

    2. Import Common arguments通用参数,主要是针对关系型数据库链接的一些参数

    参数描述
    –connect < jdbc-uri > JDBC连接串
    –connection-manager < class-name > 连接管理类
    –driver < class-name > 手动指定JDBC驱动类
    –hadoop-mapred-home < dir > 可以覆盖$HADOOP_MAPRED_HOME
    –help 使用帮助
    –password-file 指定包含密码的文件
    -P 执行import时会暂停,等待用户手动输入密码
    –password < password > 直接将密码写在命令行中
    –username < username > 指定用户名
    –verbose 显示Sqoop任务更多执行信息
    –connection-param-file < filename > 可选的参数,用于提供连接参数
    –relaxed-isolation 设置每个mapmer的连接事务隔离

    3。import控制参数

    参数描述
    –append 导入的数据追加到数据文件中
    –as-avrodatafile 导入数据格式为avro
    –as-sequencefile 导入数据格式为sqeuqncefile
    –as-textfile 导入数据格式为textfile
    –boundary-query < statement > 代替min(split-by),max(split-by)值指定的边界,下面会有详细介绍
    –columns < col,col,col… > 指定导入字段
    –delete-target-dir 如果导入的target路径存在,则删除
    –direct 使用direct模式
    –fetch-size < n > 从数据库一次性读入的记录数
    -inline-lob-limit < n > 设定大对象数据类型的最大值
    -m, –num-mappers < n > 指定并行导入数据的map个数,默认为4个
    -e, –query < statement > 导入查询语句得到的数据
    –split-by < column-name > 一般与-m参数一起使用,指定分割split的字段
    –table < table-name > 指定database中的表名
    –target-dir < dir > 指定目标HDFS路径
    –warehouse-dir < dir > 指定表目标路径所在路径
    –where < where clause > 即sql语句中的where条件
    -z, –compress 打开压缩功能
    –compression-codec < c > 使用Hadoop的压缩,默认为gzip压缩
    –null-string < null-string > 源表中为null的记录导入为string类型时显示为null-string,默认显示为”null”
    –null-non-string < null-string > 源表中为null的记录导入为非string类型时显示为null-string,默认显示为”null”

    4。增量导入

      sqoop支持两种增量导入到hive的模式, 一种是 append,即通过指定一个递增的列,比如: 
         --incremental append  --check-column id --last-value 0 
         另种是可以根据时间戳,比如: 
      --incremental lastmodified --check-column time --last-value '2013-01-01 11:0:00' 
      就是只导入time比'2013-01-01 11:0:00'更大的数据。

    5。具体代码示例

    /opt/softwares/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin/sqoop import --driver com.microsoft.sqlserver.jdbc.SQLServerDriver
    --connect "jdbc:sqlserver://10.10.0.3\sql2008;database=Dc" --username bgdbo --password 123456
    --table=Customer --target-dir /user/Customer
    --columns "CustomerID,CusCode,TrueName,LogDate"
    --fields-terminated-by " "
    --check-column "LogDate"
    --incremental "append"
    --last-value "2018-4-24 00:00:00"

  • 相关阅读:
    Excel文档间的数据替换 ---电脑版APP 自动操作魔法师
    【css】zSass
    【javascript】利用 a 标签自动解析 url
    【javascript】console 让 js 调试更简单
    【规范】javascript 变量命名规则
    【规范】前端编码规范——一般规范
    【jquery】一款不错的音频播放器——Amazing Audio Player
    【分享】分享一款不错的网页视频播放器
    【分享】分享一个值得前端开发收藏的网站
    【html】button按钮的一些问题
  • 原文地址:https://www.cnblogs.com/lovefendi/p/8952398.html
Copyright © 2011-2022 走看看