Spark引擎配置文件
运行前,需要相应地修改“BoostKit-omnimv_1.1.0/config/omnimv_config_spark.cfg”,其中配置文件样例如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
[schema] # schema SQL路径 schema_path = hdfs://server1:9000/omnimv/schema.sql table_bytes_path = hdfs://server1:9000/omnimv/table_bytes [spark] # 数据库名称 database = tpcds_bin_partitioned_decimal_orc_10 # Spark Yarn模式下,指定query执行的时间段 q_log_start_time = 2023-04-03 11:21 q_log_end_time = 2023-04-03 13:55 # Spark Yarn模式下,使用OmniMV Plugin创建视图执行的时间段 mv_log_start_time = 2023-03-31 16:05 mv_log_end_time = 2023-03-31 16:19 # 日志解析的JAR包路径 logparser_jar_path = /opt/spark/boostkit-omnimv-logparser-spark-3.1.1-1.1.0.jar # OmniMV Plugin的路径 cache_plugin_jar_path = /opt/spark/boostkit-omnimv-spark-3.1.1-1.1.0.jar # spark-defaults.conf路径下面配置的Spark History输出的路径 hdfs_input_path = hdfs://server1:9000/spark2-history # 通过日志解析之后,把每条日志解析成json格式,所有日志存放的路径 hdfs_output_path = hdfs://server1:9000/omnimv/spark2-history-json # SQL语句的存放路径,这里以TPCDS SQL为例 sqls_path = hdfs://server1:9000/omnimv/tpcds # 表大小的阈值,超过设置的阈值,则认为该表是一张大表,默认阈值为1G,即1000000000 large_table_threshold = 5000000 # 候选视图的阈值,只选取前面TOP的候选视图 mv_limit = 10 [result] # 候选视图存放的路径,同时会在改目录下面生成子目录:mv_sql(所有候选视图),top_mv(top N候选视图),mv_recommend(最后推荐的视图) mv_output_path = hdfs://server1:9000/omnimv/mv [train] # 成本评估模型保存路径 spark_model_path = hdfs://server1:9000/omnimv/training/spark_model.pkl epochs = 200 estimators = 50 max_depth = 5 learning_rate = 0.05 [yarn] # Spark执行的模式,Yarn模式还是Local模式 spark_master = yarn # Spark参数中--name后面的参数 app_name = omnimv # Spark参数中--num-executors指定的参数 spark_num_executors = 30 # Spark参数中--executor-memory指定的参数 spark_executor_memory = 32g # Spark参数中--driver-memory指定的参数 spark_driver_memory = 48g # Spark参数中--executor-cores指定的参数 executor_cores = 18 # 执行spark-sql Session的超时时间,默认单位:s,这里默认指定5000s超时时间 session_timeout = 5000 |
hdfs://server1:9000这个代表数据会缓存在HDFS上面,其中server1代表当前服务器的Hostname,9000端口代表HDFS安装的端口号,因此需要根据环境信息进行适配,当然可以采用简化的方式,例如:
- 将“sqls_path”=“hdfs://server1:9000/omnimv/tpcds”可以直接修改为“sqls_path”=“/omnimv/tpcds”。
- 配置文件中,除了2个JAR包的地址,其余地址默认是HDFS的路径地址。
名称 |
作用 |
缺省值 |
---|---|---|
schema_path |
表结构存储路径。 |
- |
table_bytes_path |
表大小存储路径。 |
- |
database |
训练用的数据库名。 |
- |
q_log_start_time |
原生SQL查询开始运行时间。 |
- |
q_log_end_time |
原生SQL查询结束运行时间。 |
- |
mv_log_start_time |
创建候选的物化视图开始运行时间。 |
- |
mv_log_end_time |
创建候选的物化视图结束运行时间。 |
- |
logparser_jar_path |
日志解析JAR包存放路径。 |
- |
cache_plugin_jar_path |
OmniMV物化视图插件JAR包存放路径。 |
- |
hdfs_input_path |
Spark历史日志存放路径。 |
- |
hdfs_output_path |
OmniMV物化视图解析日志的存放路径。 |
- |
large_table_threshold |
表大小的阈值,超过设置的阈值,则认为该表是一张大表,默认阈值为1G,即1000000000。 |
1000000000 |
mv_limit |
候选视图的阈值,只选取前面TOP的候选视图。 |
10 |
mv_output_path |
候选视图存放的路径,同时会在改目录下面生成子目录:mv_sql(所有候选视图),top_mv(top N 候选视图),mv_recommend(最后推荐的视图)。 |
- |
spark_model_path |
推荐视图输出路径。 |
- |
epochs |
模型训练的轮数。 |
200 |
learning_rate |
模型训练的学习率。 |
0.005 |
estimators |
梯度提升树的个数,属于模型的超参 |
50 |
max_depth |
梯度提升树的深度,属于模型的超参 |
5 |
spark_master |
Spark执行的模式。 |
yarn |
app_name |
Spark任务名称。 |
omnimv |
spark_num_executors |
Spark参数 --num-executors。 |
30 |
spark_executor_memory |
Spark参数 --executor-memory。 |
32g |
spark_driver_memory |
Spark参数 --driver-memory。 |
48g |
executor_cores |
Spark参数 --executor-cores。 |
18 |
session_timeout |
spark-sql session的超时时间,默认单位:s。 |
5000 |