大佬教程收集整理的这篇文章主要介绍了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@
@Options
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;
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_CELL_COUNT_THRESHOLD = 10 * DEFAULT_BroaDCAST_THRESHOLD; // 10 times DEFAULT_BroaDCAST_THRESHOLD
public static final LongValidator PLAnnER_MEMORY_RESERVATION = new RangeLongValidator("plAnner.reservation_bytes",
public static final LongValidator PLAnnER_MEMORY_LIMIT = new RangeLongValidator("plAnner.memory_limit",
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 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 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 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);
// 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);
".enable_decimal_v2";
".enable_vectorized_parquet_decimal";
public static final BooleanValidator ENABLE_PARQUET_IN_EXPRESSION_PUSH_DOWN =
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 =
public static final TypeValidators.LongValidator ADJUST_RESERVED_WHEN_AGGRESSIVE =
/**
* Policy regarding storing query results
*/
/**
* Do not save query result
*/
NO,
/**
*/
DIRECT_PATH,
/**
* 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"));
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 */,
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);
"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 =
/**
* 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);
BooleanValidator ENABLE_AUTOMATIC_AGG_REFLECTIONS = new BooleanValidator("reflection.auto.agg.enable", falsE);
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
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,请注明来意。