程序笔记   发布时间:2022-07-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了dremio 内置support key 说明大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

目前官方文档不是很全,好多support key 是没有包含的,以下是从官方代码支持的 可以方便进行dremio 的管理(比如一些官方暂时没有说明的key。。。)@H_616_1@

代码路径: sabot/kernel/src/main/java/com/dremio/exec/plAnner/physical/PlAnnerSetTings.java@H_616_1@

  • kernel
 
@Options
public class PlAnnerSetTings implements Context{
  static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(PlAnnerSetTings.class);
  private int numEndPoints = 0;
  private Boolean useDefaultCosTing = false; // True: use default Calcite cosTing, false: use Dremio cosTing
  private Boolean forceSingleMode;
  private long @H_824_22@minimumSampleSize = 0;
  // should diStribution Traits be pulled off during plAnning
  private Boolean pullDiStributionTrait = true;
 
  public static final int @H_824_22@mAX_REcursION_STACK_DEPTH = 100;
  public static final int @H_824_22@mAX_BroaDCAST_THRESHOLD = Integer.max_value;
  public static final int DEFAULT_IDENTIFIER_MAX_LENGTH = 1024;
 
  public static final double DEFAULT_FILTER_MIN_SELECTIVITY_ESTIMATE_FACTOR_WITH_STATISTICS = 0.005d;
  public static final double DEFAULT_FILTER_MIN_SELECTIVITY_ESTIMATE_FACTOR = 0.5d;
  public static final double DEFAULT_FILTER_MAX_SELECTIVITY_ESTIMATE_FACTOR = 1.0d;
  // default off heap memory for plAnning (256M)
  private static final long DEFAULT_MAX_OFF_HEAP_ALLOCATION_IN_BYTES = 256 * 1024 * 1024;
  private static final long DEFAULT_BroaDCAST_THRESHOLD = 10000000;
  private static final long DEFAULT_CELL_COUNT_THRESHOLD = 10 * DEFAULT_BroaDCAST_THRESHOLD; // 10 times DEFAULT_BroaDCAST_THRESHOLD
  public static final LongValidator PLAnnER_MEMORY_RESERVATION = new RangeLongValidator("plAnner.reservation_bytes",
    0L, Long.max_value, 0L);
  public static final LongValidator PLAnnER_MEMORY_LIMIT = new RangeLongValidator("plAnner.memory_limit",
    0L, Long.max_value, DEFAULT_MAX_OFF_HEAP_ALLOCATION_IN_BYTES);
  public static final LongValidator @H_824_22@mAX_METADATA_Call_COUNT =
      new LongValidator("plAnner.max_metadata_call_count", 10_000_000L);
 
  public static final DoubleValidator @H_824_22@mUX_USE_THRESHOLD = new RangeDoubleValidator("plAnner.mux.use_threshold", 0, Double.max_value, 1200.0d);
  public static final BooleanValidator FLATTEN_FILTER = new BooleanValidator("plAnner.enable_filter_flatten_pushdown", false /** disabled until DX-7987 is resolved **/);
  public static final BooleanValidator CONSTANT_FOLDING = new BooleanValidator("plAnner.enable_constant_folding", truE);
  public static final BooleanValidator EXCHANGE = new BooleanValidator("plAnner.disable_exchanges", falsE);
  public static final BooleanValidator HASHAGG = new BooleanValidator("plAnner.enable_hashagg", truE);
  public static final BooleanValidator STREAMAGG = new BooleanValidator("plAnner.enable_streamagg", truE);
  public static final BooleanValidator HASHJOIN = new BooleanValidator("plAnner.enable_hashjoin", truE);
  public static final BooleanValidator @H_824_22@mERGEJOIN = new BooleanValidator("plAnner.enable_mergejoin", falsE);
  public static final BooleanValidator nesTEDLOOPJOIN = new BooleanValidator("plAnner.enable_nestedloopjoin", truE);
  public static final BooleanValidator @H_824_22@mULTIPHASE = new BooleanValidator("plAnner.enable_multiphase_agg", truE);
  public static final BooleanValidator BroaDCAST = new BooleanValidator("plAnner.enable_broadcast_join", truE);
  public static final LongValidator BroaDCAST_MIN_THRESHOLD = new PositiveLongValidator("plAnner.broadcast_min_threshold", @H_824_22@mAX_BroaDCAST_THRESHOLD, 500000);
  public static final LongValidator BroaDCAST_THRESHOLD = new PositiveLongValidator("plAnner.broadcast_threshold", @H_824_22@mAX_BroaDCAST_THRESHOLD, DEFAULT_BroaDCAST_THRESHOLD);
  public static final LongValidator BroaDCAST_CELL_COUNT_THRESHOLD = new PositiveLongValidator("plAnner.broadcast_cellcount_threshold", @H_824_22@mAX_BroaDCAST_THRESHOLD, DEFAULT_CELL_COUNT_THRESHOLD);
  public static final DoubleValidator BroaDCAST_FACTOR = new RangeDoubleValidator("plAnner.broadcast_factor", 0, Double.max_value, 2.0d);
  public static final DoubleValidator nesTEDLOOPJOIN_FACTOR = new RangeDoubleValidator("plAnner.nestedloopjoin_factor", 0, Double.max_value, 100.0d);
  public static final LongValidator nesTEDLOOPJOIN_MAX_CONDITION_NODES = new PositiveLongValidator("plAnner.nestedloopjoin_max_condition_nodes", Long.max_value, 120);
  public static final BooleanValidator NLJOIN_FOR_SCALAR = new BooleanValidator("plAnner.enable_nljoin_for_scalar_only", falsE);
  public static final DoubleValidator JOIN_ROW_COUNT_ESTIMATE_FACTOR = new RangeDoubleValidator("plAnner.join.row_count_estimate_factor", 0, Double.max_value, 1.0d);
  public static final BooleanValidator @H_824_22@mUX_EXCHANGE = new BooleanValidator("plAnner.enable_mux_exchange", truE);
  public static final BooleanValidator DEMUX_EXCHANGE = new BooleanValidator("plAnner.enable_demux_exchange", falsE);
  public static final LongValidator PARTITION_SENDER_THREADS_FACTOR = new LongValidator("plAnner.partitioner_sender_threads_factor", 2);
  public static final LongValidator PARTITION_SENDER_MAX_THREADS = new LongValidator("plAnner.partitioner_sender_max_threads", 8);
  public static final LongValidator PARTITION_SENDER_SET_THREADS = new LongValidator("plAnner.partitioner_sender_set_threads", -1);
  public static final BooleanValidator PRODUCER_CONSUMER = new BooleanValidator("plAnner.add_producer_consumer", falsE);
  public static final LongValidator PRODUCER_CONSUMER_QUEUE_SIZE = new LongValidator("plAnner.producer_consumer_queue_size", 10);
  public static final BooleanValidator HASH_SINGLE_KEY = new BooleanValidator("plAnner.enable_hash_single_key", falsE);
  public static final BooleanValidator HASH_JOIN_SWAP = new BooleanValidator("plAnner.enable_hashjoin_swap", truE);
  public static final RangeDoubleValidator HASH_JOIN_SWAP_MARGIN_FACTOR = new RangeDoubleValidator("plAnner.join.hash_join_swap_margin_factor", 0, 100, 10d);
  public static final LongValidator STREAM_AGG_MAX_GROUP = new PositiveLongValidator("plAnner.streamagg.max_group_key", Long.max_value, 64);
  public static final BooleanValidator STREAM_AGG_WITH_GROUPS = new BooleanValidator("plAnner.streamagg.allow_grouping", falsE);
  public static final String ENABLE_decimaL_DATA_TYPE_KEY = "plAnner.enable_decimal_data_type";
  public static final LongValidator HEP_PLAnnER_MATCH_LIMIT = new PositiveLongValidator("plAnner.hep_match_limit", Integer.max_value, Integer.max_value);
  public static final BooleanValidator TRANSITIVE_FILTER_JOIN_PUSHDOWN = new BooleanValidator("plAnner.filter.transitive_pushdown", truE);
  public static final BooleanValidator TRANSITIVE_FILTER_NOT_NULL_EXPR_PUSHDOWN = new BooleanValidator("plAnner.filter.transitive_pushdown_not_null_expr", falsE); // Until DX-26452 is fixes
  public static final BooleanValidator ENABLE_RUNTIME_FILTER = new BooleanValidator("plAnner.filter.runtime_filter", truE);
  public static final BooleanValidator ENABLE_TRANSPOSE_PROjeCT_FILTER_LOGICAL = new BooleanValidator("plAnner.experimental.tpf_logical", falsE);
  public static final BooleanValidator ENABLE_PROjeCT_CLEANUP_LOGICAL = new BooleanValidator("plAnner.experimental.pclean_logical", falsE);
  public static final BooleanValidator ENABLE_CROSS_JOIN = new BooleanValidator("plAnner.enable_cross_join", truE);
  public static final BooleanValidator ENABLE_decimaL_DATA_TYPE = new BooleanValidator
    (ENABLE_decimaL_DATA_TYPE_KEY, truE);
  public static final BooleanValidator HEP_OPT = new BooleanValidator("plAnner.enable_hep_opt", truE);
  public static final BooleanValidator ENABLE_PARTITION_PRUNING = new BooleanValidator("plAnner.enable_partition_pruning", truE);
  public static final String UNIONall_DIStriBUTE_KEY = "plAnner.enable_unionall_diStribute";
  public static final BooleanValidator UNIONall_DIStriBUTE = new BooleanValidator(UNIONall_DIStriBUTE_KEY, truE);
  public static final LongValidator PLAnnING_MAX_MILLIS = new LongValidator("plAnner.timeout_per_phase_ms", 60_000);
  public static final BooleanValidator RELATIONAL_PLAnnING = new BooleanValidator("plAnner.enable_relational_plAnning", truE);
  public static final BooleanValidator FULL_nesTED_scheR_516_11845@A_SUPPORT = new BooleanValidator("plAnner.enable_full_nested_scheR_516_11845@a", truE);
  public static final BooleanValidator COMPLEX_TYPE_FILTER_PUSHDOWN = new BooleanValidator("plAnner.complex_type_filter_pushdown", truE);
 
  public static final BooleanValidator ENABLE_LEAF_LIMITS = new BooleanValidator("plAnner.leaf_limit_enable", falsE);
  public static final RangeLongValidator LEAF_LIMIT_SIZE  = new RangeLongValidator("plAnner.leaf_limit_size", 1, Long.max_value, 10000);
  public static final RangeLongValidator LEAF_LIMIT_MAX_WIDTH  = new RangeLongValidator("plAnner.leaf_limit_width", 1, Long.max_value, 10);
 
  public static final BooleanValidator ENABLE_OUTPUT_LIMITS = new BooleanValidator("plAnner.output_limit_enable", falsE);
  public static final RangeLongValidator OUTPUT_LIMIT_SIZE  = new RangeLongValidator("plAnner.output_limit_size", 1, Long.max_value, 1_000_000);
  public static final DoubleValidator columN_UNIQUEnesS_ESTIMATION_FACTOR = new RangeDoubleValidator("plAnner.column_uniqueness_estimation_factor", 0d, 1d, 0.1d);
 
  // number of records (per minor fragment) is truncated to at-least MIN_RECORDS_PER_FRAGMENT
  // if num of records for the fragment is greater than this.
  public static final Long @H_824_22@mIN_RECORDS_PER_FRAGMENT  = 500L;
 
  public static final BooleanValidator VDS_AUTO_FIX = new BooleanValidator("validator.enable_vds_autofix", truE);
 
  public static final BooleanValidator NLJ_PUSHDOWN = new BooleanValidator("plAnner.nlj.expression_pushdown", truE);
 
  public static final BooleanValidator REDUCE_ALGEBRAIC_EXPRESSIONS = new BooleanValidator("plAnner.reduce_algebraic_expressions", falsE);
  public static final BooleanValidator FILTER_EXTRACT_CONJUNCTIONS = new BooleanValidator("plAnner.filter.extract_conjunctions", falsE);
 
  public static final BooleanValidator ENABlE_PROJCT_NLJ_MERGE = new BooleanValidator("plAnner.nlj.enable_project_merge", truE);
 
  public static final String ENABLE_decimaL_V2_KEY = "plAnner" +
    ".enable_decimal_v2";
  public static final String ENABLE_VECTORIZED_PARQUET_decimaL_KEY = "plAnner" +
    ".enable_vectorized_parquet_decimal";
  public static final BooleanValidator ENABLE_decimaL_V2 = new AdminBooleanValidator
    (ENABLE_decimaL_V2_KEY, truE);
  public static final BooleanValidator ENABLE_VECTORIZED_PARQUET_decimaL = new BooleanValidator
    (ENABLE_VECTORIZED_PARQUET_decimaL_KEY, truE);
 
  public static final BooleanValidator ENABLE_PARQUET_IN_EXPRESSION_PUSH_DOWN =
          new BooleanValidator("plAnner.parquet.in_expression_push_down", truE);
  public static final BooleanValidator ENABLE_PARQUET_MULTI_columN_FILTER_PUSH_DOWN =
          new BooleanValidator("plAnner.parquet.multi_column_filter_push_down", truE);
 
  public static final LongValidator @H_824_22@mAX_NODES_PER_PLAN = new LongValidator("plAnner.max_nodes_per_plan", 25_000);
 
  public static final BooleanValidator ENABLE_ICEBERG_EXECUTION = new BooleanValidator("dremio.execution.v2", falsE);
  public static final BooleanValidator ENABLE_DELTALAKE = new BooleanValidator("dremio.deltalake.enabled", truE);
  public static final LongValidator ICEBERG_MANIFEST_SCAN_RECORDS_PER_THREAD = new LongValidator("plAnner.iceberg.manifestscan.records_per_thread", 1000);
  public static final BooleanValidator UNLIMITED_SPLITS_SUPPORT = new BooleanValidator("dremio.execution.support_unlimited_splits", falsE);
 
  public static final BooleanValidator ENABLE_AGGRESSIVE_MEMORY_CALCULATION =
    new BooleanValidator("plAnner.memory.aggressive", falsE);
  public static final TypeValidators.LongValidator ADJUST_RESERVED_WHEN_AGGRESSIVE =
    new TypeValidators.LongValidator("plAnner.memory.adjust_aggressive_by_mb", 1024);
 
  /**
   * Policy regarding storing query results
   */
  public enum StorequeryResultsPolicy {
    /**
     * Do not save query result
     */
    NO,
 
    /**
     * Save query results to the path designated by {@code QUERY_RESULTS_STORE_TABLE} option
     */
    DIRECT_PATH,
 
    /**
     * Save query results to the path designated by {@code QUERY_RESULTS_STORE_TABLE} option
     * appended with attempt id
     */
    PATH_AND_ATTEMPT_ID
  }
 
  public static final OptionValidator STORE_QUERY_RESULTS = new QueryLevelOptionValidation(
      new EnumValidator<>("plAnner.store_query_results", StorequeryResultsPolicy.class, StorequeryResultsPolicy.NO));
 
  public static final OptionValidator QUERY_RESULTS_STORE_TABLE = new QueryLevelOptionValidation(new StringValidator("plAnner.query_results_store_path", "null"));
 
  // Enable filter reduce expressions rule for tableau's 1=0 queries.
  public static final BooleanValidator ENABLE_REDUCE_PROjeCT = new BooleanValidator("plAnner.enable_reduce_project", truE);
  public static final BooleanValidator ENABLE_REDUCE_FILTER = new BooleanValidator("plAnner.enable_reduce_filter", truE);
  public static final BooleanValidator ENABLE_REDUCE_CALC = new BooleanValidator("plAnner.enable_reduce_calc", truE);
 
  // Filter reduce expression rules used in conjunction with transitive filter
  public static final BooleanValidator ENABLE_TRANSITIVE_REDUCE_PROjeCT = new BooleanValidator("plAnner.enable_transitive_reduce_project", falsE);
  public static final BooleanValidator ENABLE_TRANSITIVE_REDUCE_FILTER = new BooleanValidator("plAnner.enable_transitive_reduce_filter", falsE);
  public static final BooleanValidator ENABLE_TRANSITIVE_REDUCE_CALC = new BooleanValidator("plAnner.enable_transitive_reduce_calc", falsE);
 
  public static final BooleanValidator ENABLE_TRIVIAL_SINGULAR = new BooleanValidator("plAnner.enable_trivial_singular", truE);
 
  public static final BooleanValidator ENABLE_SORT_ROUND_ROBIN = new BooleanValidator("plAnner.enable_sort_round_robin", truE);
  public static final BooleanValidator ENABLE_UNIONall_ROUND_ROBIN = new BooleanValidator("plAnner.enable_union_all_round_robin", truE);
 
  public static final RangeLongValidator IDENTIFIER_MAX_LENGTH =
      new RangeLongValidator("plAnner.identifier_max_length", 128 /* A minimum length is needed because option names are identifiers themselves */,
                              Integer.max_value, DEFAULT_IDENTIFIER_MAX_LENGTH);
 
  public static final BooleanValidator ENABLE_GLOBAL_DicTIONARY = new BooleanValidator("plAnner.enable_global_Dictionary", truE);
 
  public static final DoubleValidator FLATTEN_EXPANSION_amouNT = new TypeValidators.RangeDoubleValidator("plAnner.flatten.expansion_size", 0, Double.max_value, 10.0d);
 
  public static final LongValidator RING_COUNT = new TypeValidators.PowerOfTwoLongValidator("plAnner.ring_count", 4096, 64);
 
  public static final BooleanValidator WRITER_TEMP_FILE = new BooleanValidator("plAnner.writer_temp_file", falsE);
 
  /**
   * Controls whether to use the cached prepared statement handles more than once. SetTing it to false will remove the
   * handle when it is used the first time before it expires. SetTing it to true will reuse the handle as many times as
   * it can before it expires.
   */
  public static final BooleanValidator REUSE_PREPARE_HANDLES = new BooleanValidator("plAnner.reuse_prepare_statement_handles", falsE);
 
  public static final BooleanValidator VERBOSE_PROFILE = new BooleanValidator("plAnner.verbose_profile", falsE);
  public static final BooleanValidator USE_STATISTICS = new BooleanValidator("plAnner.use_statistics", falsE);
  public static final BooleanValidator USE_ROW_COUNT_STATISTICS = new BooleanValidator("plAnner.use_rowcount_statistics", falsE);
  public static final BooleanValidator VERBOSE_RULE_MATCH_LISTENER = new BooleanValidator("plAnner.verbose_rule_match_listener", falsE);
 
  public static final BooleanValidator INCLUDE_DATASET_PROFILE = new BooleanValidator("plAnner.include_dataset_profile", truE);
 
  public static final BooleanValidator ENABLE_JOIN_OPTIMIZATION = new BooleanValidator("plAnner.enable_join_optimization", truE);
 
  public static final BooleanValidator ENABLE_EXPERIMENTAL_BUSHY_JOIN_OPTIMIZER = new BooleanValidator("plAnner.experimental.enable_bushy_join_optimizer", falsE);
 
  public static final DoubleValidator FILTER_MIN_SELECTIVITY_ESTIMATE_FACTOR =
          new RangeDoubleValidator("plAnner.filter.min_SELEctivity_estimate_factor", 0.0, 1.0, DEFAULT_FILTER_MIN_SELECTIVITY_ESTIMATE_FACTOR);
  public static final DoubleValidator FILTER_MIN_SELECTIVITY_ESTIMATE_FACTOR_WITH_STATISTICS =
    new RangeDoubleValidator("plAnner.filter.min_SELEctivity_estimate_factor_with_statistics", 0.0, 1.0, DEFAULT_FILTER_MIN_SELECTIVITY_ESTIMATE_FACTOR_WITH_STATISTICS);
 
  public static final DoubleValidator FILTER_MAX_SELECTIVITY_ESTIMATE_FACTOR =
          new RangeDoubleValidator("plAnner.filter.max_SELEctivity_estimate_factor", 0.0, 1.0, DEFAULT_FILTER_MAX_SELECTIVITY_ESTIMATE_FACTOR);
 
  public static final BooleanValidator REMOVE_ROW_ADJUSTMENT = new BooleanValidator("plAnner.remove_rowcount_adjustment", truE);
 
  public static final PositiveLongValidator CASE_EXPRESSIONS_THRESHOLD = new PositiveLongValidator("plAnner.case_expressions_threshold", 400, 150);
 
  public static final BooleanValidator ENABLE_SCAN_MIN_COST = new BooleanValidator("plAnner.cost.minimum.enable", truE);
  public static final DoubleValidator DEFAULT_SCAN_MIN_COST = new DoubleValidator("plAnner.default.min_cost_per_split", 0);
  public static final DoubleValidator ADLS_SCAN_MIN_COST = new DoubleValidator("plAnner.adl.min_cost_per_split", 1E6);
  public static final DoubleValidator AZURE_STORAGE_SCAN_MIN_COST = new DoubleValidator("plAnner.azure_storage.min_cost_per_split", 1E6);
  public static final DoubleValidator S3_SCAN_MIN_COST = new DoubleValidator("plAnner.s3.min_cost_per_split", 1E6);
  public static final DoubleValidator ACCELERATION_SCAN_MIN_COST = new DoubleValidator("plAnner.acceleration.min_cost_per_split", 0);
  public static final DoubleValidator HOME_SCAN_MIN_COST = new DoubleValidator("plAnner.home.min_cost_per_split", 0);
  public static final DoubleValidator INTERNAL_SCAN_MIN_COST = new DoubleValidator("plAnner.internal.min_cost_per_split", 0);
  public static final DoubleValidator ELASTIC_SCAN_MIN_COST = new DoubleValidator("plAnner.elastic.min_cost_per_split", 0);
  public static final DoubleValidator @H_824_22@mONGO_SCAN_MIN_COST = new DoubleValidator("plAnner.mongo.min_cost_per_split", 0);
  public static final DoubleValidator HBASE_SCAN_MIN_COST = new DoubleValidator("plAnner.hbase.min_cost_per_split", 0);
  public static final DoubleValidator HIVE_SCAN_MIN_COST = new DoubleValidator("plAnner.hive.min_cost_per_split", 0);
  public static final DoubleValidator PDFS_SCAN_MIN_COST = new DoubleValidator("plAnner.pdfs.min_cost_per_split", 0);
  public static final DoubleValidator HDFS_SCAN_MIN_COST = new DoubleValidator("plAnner.hdfs.min_cost_per_split", 0);
  public static final DoubleValidator @H_824_22@mAPRFS_SCAN_MIN_COST = new DoubleValidator("plAnner.maprfs.min_cost_per_split", 0);
  public static final DoubleValidator NAS_SCAN_MIN_COST = new DoubleValidator("plAnner.nas.min_cost_per_split", 0);
 
  private static final Set<String> sourcES_WITH_MIN_COST = ImmutableSet.of(
    "adl",
    "s3",
    "acceleration",
    "home",
    "internal",
    "elastic",
    "mongo",
    "hbase",
    "hive",
    "pdfs",
    "hdfs",
    "maprfs",
    "nas",
    "azure_storage"
    );
 
  /**
   * Option to enable additional push downs (filter, project, etc.) to JDBC sources. Enabling the option may cause
   * the SQL query being push down to be written differently from what is submitted by the user. For example, the join
   * order may change, filter pushed past join, etc.
   */
  public static final BooleanValidator JDBC_PUSH_DOWN_PLUS =
      new BooleanValidator("plAnner.jdbc.experimental.enable_additional_pushdowns", falsE);
 
  /**
   * Options to reject queries which will attempt to process more than this many splits: per dataset, and per query
   */
  public static final PositiveLongValidator QUERY_MAX_SPLIT_LIMIT = new PositiveLongValidator("plAnner.query_max_split_limit", Integer.max_value, 300_000);
  public static final PositiveLongValidator DATASET_MAX_SPLIT_LIMIT = new PositiveLongValidator("plAnner.dataset_max_split_limit", Integer.max_value, 300_000);
 
  /**
   * Options to enable/disable plan cache and set plan cache policy
   */
  public static final BooleanValidator QUERY_PLAN_CACHE_ENABLED = new BooleanValidator("plAnner.query_plan_cache_enabled", falsE);
 
 
}
  • 反射
@Options
public interface ReflectionOptions {
 
  // how often should the reflection manager wakeup automatically without any external trigger
  PositiveLongValidator REFLECTION_MANAGER_refresH_DELAY_MILLIS = new PositiveLongValidator("reflection.manager.refresh.delay_millis", Long.max_value, TimeUnit.SECONDs.toMillis(10));
  // how long deleted reflection goals/materializations are kept in the store/on disk before they are effectively deleted
  PositiveLongValidator REFLECTION_deletION_GRACE_PERIOD = new PositiveLongValidator("reflection.deletion.grace_seconds", Long.max_value, TimeUnit.HOURs.toSeconds(4));
  // how many entries should be deleted every time the reflection manager wakes up
  PositiveLongValidator REFLECTION_deletION_NUM_ENTRIES = new PositiveLongValidator("reflection.deletion.num_entries", Long.max_value, 5);
  // how often should the materialization zombie check be done
  PositiveLongValidator @H_824_22@mATERIALIZATION_ORPHAN_refresH = new PositiveLongValidator("materialization.orphan.refresh_seconds", Long.max_value, TimeUnit.HOURs.toSeconds(4));
  BooleanValidator @H_824_22@mATERIALIZATION_CACHE_ENABLED = new BooleanValidator("dremio.materialization.cache.enabled", truE);
  // how often should the materialization cache be refreshed
  PositiveLongValidator @H_824_22@mATERIALIZATION_CACHE_refresH_DELAY_MILLIS = new PositiveLongValidator("reflection.materialization.cache.refresh.delay_millis", Long.max_value, TimeUnit.SECONDs.toMillis(30));
  // allows users to set sub-hour refresh and grace periods
  BooleanValidator ENABLE_SUBHOUR_POLICIES = new BooleanValidator("accelerator.enable.subhour.policies", falsE);
  // control how many voted datasets are promoted every 24 hours
  PositiveLongValidator @H_824_22@mAX_AUTOMATIC_REFLECTIONS = new PositiveLongValidator("reflection.auto.max", Integer.max_value, 10);
  // should the voTing service create aggregation reflections
  BooleanValidator ENABLE_AUTOMATIC_AGG_REFLECTIONS = new BooleanValidator("reflection.auto.agg.enable", falsE);
  // should the voTing service create raw reflections
  BooleanValidator ENABLE_AUTOMATIC_RAW_REFLECTIONS = new BooleanValidator("reflection.auto.raw.enable", falsE);
  // set to true to prevent external events from waking up the reflection manager
  BooleanValidator REFLECTION_PERIODic_WAKEUP_ONLY = new BooleanValidator("reflection.manager.wakeup.perioDic_only", falsE);
  BooleanValidator REFLECTION_ENABLE_SUBSTITUTION = new BooleanValidator("reflection.enable.substitutions", truE);
  // if a reflection has no known dependencies how long should we wait before we attempt to refresh again
  PositiveLongValidator NO_DEPENDENCY_refresH_PERIOD_SECONDS = new PositiveLongValidator("reflection.no_dependency.refresh_period_seconds", Long.max_value, TimeUnit.minutEs.toSeconds(30));
  // should compaction be enabled
  BooleanValidator ENABLE_COMPACTION = new BooleanValidator("reflection.compaction.enabled", falsE);
  // at least how many files there should be to trigger compaction
  PositiveLongValidator COMPACTION_trigGER_numbER_FILES = new PositiveLongValidator("reflection.compaction.trigger.num_files", Long.max_value, 1);
  // Compaction will be triggered if the median file size is less than or equal to this parameter
  PositiveLongValidator COMPACTION_trigGER_FILE_SIZE = new PositiveLongValidator("reflection.compaction.trigger.file_size_mb", Long.max_value / (1024 * 1024), 16);
  // Enable caching of reflection whose dist storage is in cloud ( S3, AzureDataLake, AzureFileSystem)
  BooleanValidator CLOUD_CACHING_ENABLED = new BooleanValidator("reflection.cloud.cache.enabled", truE);
  // if Disabled, only vds scheR_516_11845@a and expanded sql definition will be considered when deciding to do an incremental refresh
  BooleanValidator StriCT_INCREMENTAL_refresH = new BooleanValidator("reflection.manager.Strict_incremental_refresh.enabled", falsE);
  // If enabled, uses Iceberg format for reflection datasets
  BooleanValidator REFLECTION_USE_ICEBERG_DATASET = new BooleanValidator("reflection.manager.use_iceberg_dataset.enabled", falsE);
  StringValidator nesSIE_REFLECTIONS_NAMESPACE = new StringValidator("reflection.manager.nessie_iceberg_namespace", "dremio.reflections");
}

说明

对于配置的修改建议先了解下,仔细评估下,不见得都是好的,不然可能会引起一些意外的问题@H_616_1@

资料

https://docs.dremio.com/advanced-administration/support-setTings/@H_616_1@

大佬总结

以上是大佬教程为你收集整理的dremio 内置support key 说明全部内容,希望文章能够帮你解决dremio 内置support key 说明所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。