Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-2209

Building Local Index Asynchronously via IndexTool fails to populate index table

    XMLWordPrintableJSON

Details

    Description

      Using the Asynchronous Index population tool to create local index (of 1 column) on tables with 10 columns, and 65M, 250M, 340M, and 1.3B rows respectively.

      Table Schema as follows (with generic column names):

      CREATE TABLE PH_SOJU_SHORT (
      id INT PRIMARY KEY,
      c2 VARCHAR NULL,
      c3 VARCHAR NULL,
      c4 VARCHAR NULL,
      c5 VARCHAR NULL,
      c6 VARCHAR NULL,
      c7 DOUBLE NULL,
      c8 VARCHAR NULL,
      c9 VARCHAR NULL,
      c10 BIGINT NULL
      )

      Example command used (for 65M row table):

      0: jdbc:phoenix:localhost> create local index LC_INDEX_SOJU_EVAL_FN on PH_SOJU_SHORT(C4) async;

      And MR job started with command:

      $ hbase org.apache.phoenix.mapreduce.index.IndexTool --data-table PH_SOJU_SHORT --index-table LC_INDEX_SOJU_EVAL_FN --output-path LC_INDEX_SOJU_EVAL_FN_HFILE

      The IndexTool MR jobs finished in 18min, 77min, 77min, and 2hr 34min respectively, but all index tables where empty.

      For the table with 65M rows, IndexTool had 12 mappers and reducers. MR Counters show Map input and output records = 65M, Reduce Input and output records = 65M. PhoenixJobCounters input and output records are all 65M.

      IndexTool Reducer Log tail:

      ...
      2015-08-25 00:26:44,687 INFO [main] org.apache.hadoop.mapred.Merger: Down to the last merge-pass, with 32 segments left of total size: 22805636866 bytes
      2015-08-25 00:26:44,693 INFO [main] org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: File Output Committer Algorithm version is 1
      2015-08-25 00:26:44,765 INFO [main] org.apache.hadoop.conf.Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
      2015-08-25 00:26:44,908 INFO [main] org.apache.hadoop.conf.Configuration.deprecation: mapred.skip.on is deprecated. Instead, use mapreduce.job.skiprecords
      2015-08-25 00:26:45,060 INFO [main] org.apache.hadoop.hbase.io.hfile.CacheConfig: CacheConfig:disabled
      2015-08-25 00:36:43,880 INFO [main] org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2: Writer=hdfs://nameservice/user/ubuntu/LC_INDEX_SOJU_EVAL_FN/_LOCAL_IDX_PH_SOJU_EVAL/_temporary/1/_temporary/attempt_1440094483400_5974_r_000000_0/0/496b926ad624438fa08626ac213d0f92, wrote=10737418236
      2015-08-25 00:36:45,967 INFO [main] org.apache.hadoop.hbase.io.hfile.CacheConfig: CacheConfig:disabled
      2015-08-25 00:38:43,095 INFO [main] org.apache.hadoop.mapred.Task: Task:attempt_1440094483400_5974_r_000000_0 is done. And is in the process of committing
      2015-08-25 00:38:43,123 INFO [main] org.apache.hadoop.mapred.Task: Task attempt_1440094483400_5974_r_000000_0 is allowed to commit now
      2015-08-25 00:38:43,132 INFO [main] org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: Saved output of task 'attempt_1440094483400_5974_r_000000_0' to hdfs://nameservice/user/ubuntu/LC_INDEX_SOJU_EVAL_FN/_LOCAL_IDX_PH_SOJU_EVAL/_temporary/1/task_1440094483400_5974_r_000000
      2015-08-25 00:38:43,158 INFO [main] org.apache.hadoop.mapred.Task: Task 'attempt_1440094483400_5974_r_000000_0' done.

      Attachments

        1. PHOENIX-2209.patch
          13 kB
          Rajeshbabu Chintaguntla
        2. PHOENIX-2209_v2.patch
          9 kB
          Rajeshbabu Chintaguntla

        Activity

          People

            rajeshbabu Rajeshbabu Chintaguntla
            keren.gu.10 Keren Gu
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 168h
                168h
                Remaining:
                Remaining Estimate - 168h
                168h
                Logged:
                Time Spent - Not Specified
                Not Specified