Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.99.5
    • 1.99.5
    • docs
    • None

    Description

      From ConnectorDevelopment.java:

      The diagram below describes the initialization phase of a job.
      ``SqoopInputFormat`` create splits using ``Partitioner``.
      ::
      
            ,----------------.          ,-----------.
            |SqoopInputFormat|          |Partitioner|
            `-------+--------'          `-----+-----'
         getSplits  |                         |
        ----------->|                         |
                    |      getPartitions      |
                    |------------------------>|
                    |                         |         ,---------.
                    |                         |-------> |Partition|
                    |                         |         `----+----'
                    |<- - - - - - - - - - - - |              |
                    |                         |              |          ,----------.
                    |-------------------------------------------------->|SqoopSplit|
                    |                         |              |          `----+-----'
      
      The diagram below describes the map phase of a job.
      ``SqoopMapper`` invokes ``From`` connector's extractor's ``extract`` method.
      ::
      
            ,-----------.
            |SqoopMapper|
            `-----+-----'
           run    |
        --------->|                                   ,------------------.
                  |---------------------------------->|SqoopMapDataWriter|
                  |                                   `------+-----------'
                  |                ,---------.               |
                  |--------------> |Extractor|               |
                  |                `----+----'               |
                  |      extract        |                    |
                  |-------------------->|                    |
                  |                     |                    |
                 read from DB           |                    |
        <-------------------------------|      write*        |
                  |                     |------------------->|
                  |                     |                    |           ,----.
                  |                     |                    |---------->|Data|
                  |                     |                    |           `-+--'
                  |                     |                    |
                  |                     |                    |      context.write
                  |                     |                    |-------------------------->
      
      The diagram below decribes the reduce phase of a job.
      ``OutputFormat`` invokes ``To`` connector's loader's ``load`` method (via ``SqoopOutputFormatLoadExecutor`` ).
      ::
      
          ,------------.  ,---------------------.
          |SqoopReducer|  |SqoopNullOutputFormat|
          `---+--------'  `----------+----------'
              |                 |   ,-----------------------------.
              |                 |-> |SqoopOutputFormatLoadExecutor|
              |                 |   `--------------+--------------'        ,----.
              |                 |                  |---------------------> |Data|
              |                 |                  |                       `-+--'
              |                 |                  |   ,-----------------.   |
              |                 |                  |-> |SqoopRecordWriter|   |
            getRecordWriter     |                  |   `--------+--------'   |
        ----------------------->| getRecordWriter  |            |            |
              |                 |----------------->|            |            |     ,--------------.
              |                 |                  |-----------------------------> |ConsumerThread|
              |                 |                  |            |            |     `------+-------'
              |                 |<- - - - - - - - -|            |            |            |    ,------.
        <- - - - - - - - - - - -|                  |            |            |            |--->|Loader|
              |                 |                  |            |            |            |    `--+---'
              |                 |                  |            |            |            |       |
              |                 |                  |            |            |            | load  |
         run  |                 |                  |            |            |            |------>|
        ----->|                 |     write        |            |            |            |       |
              |------------------------------------------------>| setContent |            | read* |
              |                 |                  |            |----------->| getContent |<------|
              |                 |                  |            |            |<-----------|       |
              |                 |                  |            |            |            | - - ->|
              |                 |                  |            |            |            |       | write into DB
              |                 |                  |            |            |            |       |-------------->
      
      
      
      .. _`Intermediate representation`: https://cwiki.apache.org/confluence/display/SQOOP/Sqoop2+Intermediate+representation
      

      Notice the use of the "Data" entity.

      Attachments

        1. SQOOP-1717.patch
          8 kB
          Veena Basavaraj

        Issue Links

          Activity

            People

              vybs Veena Basavaraj
              abec Abraham Elmahrek
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: