美文网首页
2.3sqoop只导入部分数据

2.3sqoop只导入部分数据

作者: NEO_X | 来源:发表于2019-05-31 08:50 被阅读0次

    Apache Sqoop Cookbook 英文版-翻译学习!!

    Sqoop 主要命令

    19/05/31 05:49:02 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5.2.2.4.2-2
    usage: sqoop COMMAND [ARGS]
    
    Available commands:
      codegen            Generate code to interact with database records
      create-hive-table  Import a table definition into Hive
      eval               Evaluate a SQL statement and display the results
      export             Export an HDFS directory to a database table
      help               List available commands
      import             Import a table from a database to HDFS
      import-all-tables  Import tables from a database to HDFS
      job                Work with saved jobs
      list-databases     List available databases on a server
      list-tables        List available tables in a database
      merge              Merge results of incremental imports
      metastore          Run a standalone Sqoop metastore
      version            Display version information
    
    See 'sqoop help COMMAND' for information on a specific command.
    

    问题

    不是导入整张表,需要通过SQL的WHERE子句条件导入不同的数据集。

    解决方案

    在sqoop命令行参数中使用 --where ,这个参数是针对特定的SQL语句,以达到只导入符合条件的数据。如,对于
    cities表中只导入美国的城市,可以使用以下的Sqoop命令:

    sqoop import \
    --connect jdbc:mysql://localhost:3306/sqoop \
    --username sqoop \
    --password sqoop \
    --table cities \
    --warehouse-dir /mydir/test/ \
    --where "country='USA'"
    
    c2_2_where_clause.png

    讨论

    Sqoop将会向每个获取数据的查询传递--where参数,这提供了针对特定数据库的强大的表述能力,任何功能函数,表达式,甚至是自定义的函数都可以使用。由于sql片段将会传递到生成的查询语句中而不需要sqoop的处理。对于任何
    有效的sql片段可能会产生一些意想不到的异常而导致了难以调试。对于这些参数可能然sqoop新手产生疑惑。
    当使用--where参数时,请记住sqoop会本能的进行并行传输数据。数据将会在几个任务中进行并行的传输,一些耗时
    的函数将会对数据造成明显的性能影响,而一些高级函数可能会将某个表锁住,从而阻止Sqoop进行并行数据传输。
    这将对传输性能产生影响。所以到导入前,使用高级的过滤功能,执行过滤查询将数据导入到一张临时表中,随后在
    使用import命令从临时表将数据导入hadoop,这样做还有一个好处是不需要使用--where参数。

    更多信息https://blue-shadow.top/

    相关文章

      网友评论

          本文标题:2.3sqoop只导入部分数据

          本文链接:https://www.haomeiwen.com/subject/pmvitctx.html