本次任务示例使用TPC-DS的数据表作为测试表。
修改“config/omnimv_config_spark.cfg”文件。例如:
database = tpcds_bin_partitioned_decimal_orc_8000 logparser_jar_path = /opt/spark/boostkit-omnimv-logparser-spark-3.1.1-1.1.0-aarch64.jar cache_plugin_jar_path = /opt/spark/boostkit-omnimv-spark-3.1.1-1.1.0-aarch64.jar hdfs_input_path = hdfs://server1:9000/spark2-history sqls_path = hdfs://server1:9000/omnimv/tpcds
配置项 |
含义 |
参考值 |
---|---|---|
database |
用于测试的数据库名称 |
- |
logparser_jar_path |
日志解析JAR包路径 |
/opt/spark/boostkit-omnimv-logparser-spark-3.1.1-1.1.0-aarch64.jar |
cache_plugin_jar_path |
物化视图的JAR包路径 |
/opt/spark/boostkit-omnimv-spark-3.1.1-1.1.0-aarch64.jar |
hdfs_input_path |
Spark任务运行日志在HDFS上的访问地址 |
hdfs://server1:9000/spark2-history |
sqls_path |
测试SQL在HDFS上的访问地址 |
hdfs://server1:9000/omnimv/tpcds |
hdfs dfs -mkdir -p hdfs://server1:9000/omnimv/tpcds hdfs dfs -put /spark源码目录/sql/core/src/test/resources/tpcds/* hdfs://server1:9000/omnimv/tpcds/
屏幕打印“init_database succeed!”说明执行成功。
python main.pyc spark init_database
屏幕打印“run_original_sqls succeed!”说明执行成功。
python main.pyc spark run_original_sqls
# 候选TOP mv的数量限制,实际推荐数量小于等于该值 cnt_limit = 10
python main.pyc spark create_greedy_views
# 创建视图任务开始时间 mv_log_start_time = 2022-09-15 20:18 # 创建视图任务结束时间 mv_log_end_time = 2022-09-15 21:17
python main.pyc spark parse_mv_logs
代价评估模型训练完成后,可以通过命令hdfs dfs -ls /omnimv/training查看是否生成模型。
python main.pyc spark cost_estimation
python main.pyc spark recommend
python main.pyc spark create_recommend_views