中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

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的路径地址。
表1 Spark引擎配置文件

名称

作用

缺省值

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