用户可根据实际需要提供数据表,使用OmniMV物化视图最终得到推荐的视图集。
本次任务示例使用TPC-DS的数据表作为测试表。
1 2 | cd /opt/omnimv/BoostKit-omnimv_1.2.0 vi config/omnimv_config_spark.cfg |
1 2 3 4 5 | database = tpcds_bin_partitioned_varchar_orc_3000 logparser_jar_path = /opt/omnimv/boostkit-omnimv-logparser-spark-3.1.1-1.2.0-aarch64.jar cache_plugin_jar_path = /opt/omnimv/boostkit-omnimv-spark-3.1.1-1.2.0-aarch64.jar hdfs_input_path = hdfs://server1:9000/spark2-history sqls_path = hdfs://server1:9000/omnimv/tpcds |
1 2 3 4 5 | database = tpcds_bin_partitioned_varchar_orc_3000 logparser_jar_path = /opt/omnimv/boostkit-omnimv-logparser-spark-3.4.3-1.2.0-aarch64.jar cache_plugin_jar_path = /opt/omnimv/boostkit-omnimv-spark-3.4.3-1.2.0-aarch64.jar hdfs_input_path = hdfs://server1:9000/spark2-history sqls_path = hdfs://server1:9000/omnimv/tpcds |
配置项 |
含义 |
参考值 |
---|---|---|
database |
用于测试的数据库名称。 |
- |
logparser_jar_path |
日志解析JAR包路径。 |
|
cache_plugin_jar_path |
OmniMV的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!”说明执行成功。
1 | python main.py spark init_database |
屏幕打印“run_original_sqls succeed!”说明执行成功。
1 | python main.py spark run_original_sqls |
1 | vi config/omnimv_config_spark.cfg
|
1 2 3 4 | # 测试SQL运行开始时间 q_log_start_time = 2022-09-15 11:58 # 测试SQL运行结束时间 q_log_end_time = 2022-09-15 17:15 |
屏幕打印“parse_query_logs succeed!”说明执行成功。
1 | python main.py spark parse_query_logs |
1 | vi config/omnimv_config_spark.cfg
|
1 2 | # 候选TOP mv的数量限制,实际推荐数量小于等于该值 mv_limit = 10 |
1 | python main.py spark create_greedy_views |