/** * Configures the iterators on a scanner for the given table name. * * @param job * the Hadoop job configuration * @param scanner * the scanner for which to configure the iterators * @param tableName * the table name for which the scanner is configured * @since 1.7.0 */ private void setupIterators(JobConf job, ScannerBase scanner, String tableName, org.apache.accumulo.core.client.mapreduce.RangeInputSplit split) { List<IteratorSetting> iterators = null; if (split == null) { iterators = jobIterators(job, tableName); } else { iterators = split.getIterators(); if (iterators == null) { iterators = jobIterators(job, tableName); } } for (IteratorSetting iterator : iterators) scanner.addScanIterator(iterator); }
/** * Configures the iterators on a scanner for the given table name. Will attempt to use * configuration from the InputSplit, on failure will try to extract them from * TaskAttemptContext. * * @param context * the Hadoop context for the configured job * @param tableName * the table name for which the scanner is configured * @param scanner * the scanner for which to configure the iterators * @param split * InputSplit containing configurations * @since 1.7.0 */ private void setupIterators(TaskAttemptContext context, ScannerBase scanner, String tableName, RangeInputSplit split) { List<IteratorSetting> iterators = null; if (split == null) { iterators = contextIterators(context, tableName); } else { iterators = split.getIterators(); if (iterators == null) { iterators = contextIterators(context, tableName); } } for (IteratorSetting iterator : iterators) scanner.addScanIterator(iterator); }
public static void configureScanner(ScannerBase scanner, CurrentState state) { TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN.fetch(scanner); scanner.fetchColumnFamily(TabletsSection.CurrentLocationColumnFamily.NAME); scanner.fetchColumnFamily(TabletsSection.FutureLocationColumnFamily.NAME); scanner.fetchColumnFamily(TabletsSection.LastLocationColumnFamily.NAME); scanner .fetchColumnFamily(TabletsSection.SuspendLocationColumn.SUSPEND_COLUMN.getColumnFamily()); scanner.fetchColumnFamily(LogColumnFamily.NAME); scanner.fetchColumnFamily(ChoppedColumnFamily.NAME); scanner.addScanIterator(new IteratorSetting(1000, "wholeRows", WholeRowIterator.class)); IteratorSetting tabletChange = new IteratorSetting(1001, "tabletChange", TabletStateChangeIterator.class); if (state != null) { TabletStateChangeIterator.setCurrentServers(tabletChange, state.onlineTabletServers()); TabletStateChangeIterator.setOnlineTables(tabletChange, state.onlineTables()); TabletStateChangeIterator.setMerges(tabletChange, state.merges()); TabletStateChangeIterator.setMigrations(tabletChange, state.migrationsSnapshot()); TabletStateChangeIterator.setMasterState(tabletChange, state.getMasterState()); TabletStateChangeIterator.setShuttingDown(tabletChange, state.shutdownServers()); } scanner.addScanIterator(tabletChange); }
public static final void configureGlobalIndexTermMatchingIterator(ShardQueryConfiguration config, ScannerBase bs, Collection<String> literals, Collection<String> patterns, boolean reverseIndex, boolean limitToUniqueTerms) { if ((literals == null || literals.isEmpty()) && (patterns == null || patterns.isEmpty())) { return; } if (log.isTraceEnabled()) { log.trace("Configuring GlobalIndexTermMatchingIterator with " + literals + " and " + patterns); } IteratorSetting cfg = configureGlobalIndexTermMatchingIterator(config, literals, patterns, reverseIndex, limitToUniqueTerms); bs.addScanIterator(cfg); }
public static final void configureGlobalIndexDateRangeFilter(ShardQueryConfiguration config, ScannerBase bs, LongRange dateRange) { // Setup the GlobalIndexDateRangeFilter if (log.isTraceEnabled()) { log.trace("Configuring GlobalIndexDateRangeFilter with " + dateRange); } IteratorSetting cfg = configureGlobalIndexDateRangeFilter(config, dateRange); bs.addScanIterator(cfg); }
public static final void configureGlobalIndexDataTypeFilter(ShardQueryConfiguration config, ScannerBase bs, Collection<String> dataTypes) { if (dataTypes == null || dataTypes.isEmpty()) { return; } if (log.isTraceEnabled()) { log.trace("Configuring GlobalIndexDataTypeFilter with " + dataTypes); } IteratorSetting cfg = configureGlobalIndexDataTypeFilter(config, dataTypes); if (cfg == null) { return; } bs.addScanIterator(cfg); }
public void addToScanner(ScannerBase scanner) { if (!iteratorSettingList.isEmpty()) scanner.addScanIterator(toIteratorSetting()); }
@Override public void addScanIterator(IteratorSetting cfg) { delegate.addScanIterator(cfg); }
public void configureScanIterators(ScannerBase scanner, Collection<String> dataTypes, SortedSet<String> dates) throws IOException { if (!dates.isEmpty()) { // Filters out sub sections of the column families for me IteratorSetting cfg = new IteratorSetting(30, "mmi", MinMaxIterator.class); cfg.addOption(MinMaxIterator.MIN_OPT, dates.first()); cfg.addOption(MinMaxIterator.MAX_OPT, dates.last()); scanner.addScanIterator(cfg); } // only want these data types if (!dataTypes.isEmpty()) { String dtypesCsv = StringUtils.join(dataTypes, ','); log.debug("Filtering on data types: " + (dtypesCsv.isEmpty() ? "none" : dtypesCsv)); IteratorSetting cfg = new IteratorSetting(31, "fi", CsvKeyFilter.class); cfg.addOption(CsvKeyFilter.ALLOWED_OPT, dtypesCsv); cfg.addOption(CsvKeyFilter.KEY_PART_OPT, "colq"); scanner.addScanIterator(cfg); } /* * considers the date ranges and datatypes when calculating a weight for a given field */ scanner.addScanIterator(new IteratorSetting(32, "issi", IndexStatsSummingIterator.class)); }
public void configureScanIterators(ScannerBase scanner, Collection<String> dataTypes, SortedSet<String> dates) throws IOException { if (!dates.isEmpty()) { // Filters out sub sections of the column families for me IteratorSetting cfg = new IteratorSetting(IteratorSettingHelper.BASE_ITERATOR_PRIORITY + 30, MinMaxIterator.class); cfg.addOption(MinMaxIterator.MIN_OPT, dates.first()); cfg.addOption(MinMaxIterator.MAX_OPT, dates.last()); scanner.addScanIterator(cfg); } // only want these data types if (!dataTypes.isEmpty()) { IteratorSetting cfg = new IteratorSetting(IteratorSettingHelper.BASE_ITERATOR_PRIORITY + 31, CsvKeyFilter.class); String dtypesCsv = StringUtils.join(dataTypes, ','); log.debug("Filtering on data types: " + (dtypesCsv.isEmpty() ? "none" : dtypesCsv)); cfg.addOption(CsvKeyFilter.ALLOWED_OPT, dtypesCsv); cfg.addOption(CsvKeyFilter.KEY_PART_OPT, "colq"); scanner.addScanIterator(cfg); } /* * considers the date ranges and datatypes when calculating a weight for a given field */ scanner.addScanIterator(new IteratorSetting(IteratorSettingHelper.BASE_ITERATOR_PRIORITY + 32, IndexStatsCombiningIterator.class)); }
private void setupIter(ScannerBase scanner) throws Exception { IteratorSetting dropMod = new IteratorSetting(50, "dropMod", "org.apache.accumulo.test.functional.DropModIter"); dropMod.addOption("mod", "2"); dropMod.addOption("drop", "0"); scanner.addScanIterator(dropMod); }
/** * Configures the iterators on a scanner for the given table name. * * @param job * the Hadoop job configuration * @param scanner * the scanner for which to configure the iterators */ private void setupIterators(JobConf job, ScannerBase scanner, org.apache.accumulo.hadoopImpl.mapreduce.RangeInputSplit split) { List<IteratorSetting> iterators = null; if (split == null) { iterators = jobIterators(job); } else { iterators = split.getIterators(); if (iterators == null) { iterators = jobIterators(job); } } for (IteratorSetting iterator : iterators) scanner.addScanIterator(iterator); }
/** * Configures the iterators on a scanner for the given table name. * * @param job * the Hadoop job configuration * @param scanner * the scanner for which to configure the iterators * @param tableName * the table name for which the scanner is configured * @since 1.7.0 */ private void setupIterators(JobConf job, ScannerBase scanner, String tableName, org.apache.accumulo.core.client.mapreduce.RangeInputSplit split) { List<IteratorSetting> iterators = null; if (null == split) { iterators = jobIterators(job, tableName); } else { iterators = split.getIterators(); if (null == iterators) { iterators = jobIterators(job, tableName); } } for (IteratorSetting iterator : iterators) scanner.addScanIterator(iterator); }
/** * Configures the iterators on a scanner for the given table name. Will attempt to use * configuration from the InputSplit, on failure will try to extract them from * TaskAttemptContext. * * @param context * the Hadoop context for the configured job * @param tableName * the table name for which the scanner is configured * @param scanner * the scanner for which to configure the iterators * @param split * InputSplit containing configurations * @since 1.7.0 */ private void setupIterators(TaskAttemptContext context, ScannerBase scanner, String tableName, RangeInputSplit split) { List<IteratorSetting> iterators = null; if (null == split) { iterators = contextIterators(context, tableName); } else { iterators = split.getIterators(); if (null == iterators) { iterators = contextIterators(context, tableName); } } for (IteratorSetting iterator : iterators) scanner.addScanIterator(iterator); }
/** * Configures the iterators on a scanner for the given table name. * * @param job * the Hadoop job configuration * @param scanner * the scanner for which to configure the iterators * @param tableName * the table name for which the scanner is configured * @since 1.7.0 */ private void setupIterators(JobConf job, ScannerBase scanner, String tableName, org.apache.accumulo.core.client.mapreduce.RangeInputSplit split) { List<IteratorSetting> iterators = null; if (null == split) { iterators = jobIterators(job, tableName); } else { iterators = split.getIterators(); if (null == iterators) { iterators = jobIterators(job, tableName); } } for (IteratorSetting iterator : iterators) scanner.addScanIterator(iterator); }
static public void configureScanner(ScannerBase scanner, CurrentState state) { Constants.METADATA_PREV_ROW_COLUMN.fetch(scanner); scanner.fetchColumnFamily(Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY); scanner.fetchColumnFamily(Constants.METADATA_FUTURE_LOCATION_COLUMN_FAMILY); scanner.fetchColumnFamily(Constants.METADATA_LAST_LOCATION_COLUMN_FAMILY); scanner.fetchColumnFamily(Constants.METADATA_LOG_COLUMN_FAMILY); scanner.fetchColumnFamily(Constants.METADATA_CHOPPED_COLUMN_FAMILY); scanner.addScanIterator(new IteratorSetting(1000, "wholeRows", WholeRowIterator.class)); IteratorSetting tabletChange = new IteratorSetting(1001, "tabletChange", TabletStateChangeIterator.class); if (state != null) { TabletStateChangeIterator.setCurrentServers(tabletChange, state.onlineTabletServers()); TabletStateChangeIterator.setOnlineTables(tabletChange, state.onlineTables()); TabletStateChangeIterator.setMerges(tabletChange, state.merges()); TabletStateChangeIterator.setMigrations(tabletChange, state.migrations()); } scanner.addScanIterator(tabletChange); }
static void setupScanner(ScannerBase scanner, Set<Column> columns, long startTs) { for (Column col : columns) { if (col.isQualifierSet()) { scanner.fetchColumn(ByteUtil.toText(col.getFamily()), ByteUtil.toText(col.getQualifier())); } else { scanner.fetchColumnFamily(ByteUtil.toText(col.getFamily())); } } IteratorSetting iterConf = new IteratorSetting(10, SnapshotIterator.class); SnapshotIterator.setSnaptime(iterConf, startTs); scanner.addScanIterator(iterConf); }
static void setupScanner(ScannerBase scanner, Collection<Column> columns, long startTs, boolean showReadLocks) { for (Column col : columns) { if (col.isQualifierSet()) { scanner.fetchColumn(ByteUtil.toText(col.getFamily()), ByteUtil.toText(col.getQualifier())); } else { scanner.fetchColumnFamily(ByteUtil.toText(col.getFamily())); } } IteratorSetting iterConf = new IteratorSetting(10, SnapshotIterator.class); SnapshotIterator.setSnaptime(iterConf, startTs); SnapshotIterator.setReturnReadLockPresent(iterConf, showReadLocks); scanner.addScanIterator(iterConf); }
static void setupScanner(ScannerBase scanner, Collection<Column> columns, long startTs, boolean showReadLocks) { for (Column col : columns) { if (col.isQualifierSet()) { scanner.fetchColumn(ByteUtil.toText(col.getFamily()), ByteUtil.toText(col.getQualifier())); } else { scanner.fetchColumnFamily(ByteUtil.toText(col.getFamily())); } } IteratorSetting iterConf = new IteratorSetting(10, SnapshotIterator.class); SnapshotIterator.setSnaptime(iterConf, startTs); SnapshotIterator.setReturnReadLockPresent(iterConf, showReadLocks); scanner.addScanIterator(iterConf); }
static public void configureScanner(ScannerBase scanner, CurrentState state) { TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN.fetch(scanner); scanner.fetchColumnFamily(TabletsSection.CurrentLocationColumnFamily.NAME); scanner.fetchColumnFamily(TabletsSection.FutureLocationColumnFamily.NAME); scanner.fetchColumnFamily(TabletsSection.LastLocationColumnFamily.NAME); scanner .fetchColumnFamily(TabletsSection.SuspendLocationColumn.SUSPEND_COLUMN.getColumnFamily()); scanner.fetchColumnFamily(LogColumnFamily.NAME); scanner.fetchColumnFamily(ChoppedColumnFamily.NAME); scanner.addScanIterator(new IteratorSetting(1000, "wholeRows", WholeRowIterator.class)); IteratorSetting tabletChange = new IteratorSetting(1001, "tabletChange", TabletStateChangeIterator.class); if (state != null) { TabletStateChangeIterator.setCurrentServers(tabletChange, state.onlineTabletServers()); TabletStateChangeIterator.setOnlineTables(tabletChange, state.onlineTables()); TabletStateChangeIterator.setMerges(tabletChange, state.merges()); TabletStateChangeIterator.setMigrations(tabletChange, state.migrationsSnapshot()); TabletStateChangeIterator.setMasterState(tabletChange, state.getMasterState()); TabletStateChangeIterator.setShuttingDown(tabletChange, state.shutdownServers()); } scanner.addScanIterator(tabletChange); }