我正在使用 TPC-DS dsqgen 将其模板转换为可运行的查询。
我尝试了以下参数变体以将每个查询保存在专用.sql
文件中,但它们都将可运行查询保存在 中query_0.sql
,即使我使用的模板不是query1.tpl
!
$ ./dsqgen -v -out ../output/queries -dir ../query_templates -dialect netezza -input ../query_templates/templates.lst
qgen2 Query Generator (Version 3.2.0)
Copyright Transaction Processing Performance Council (TPC) 2001 - 2021
Warning: This scale factor is valid for QUALIFICATION ONLY
Parsed 99 templates
$ ls -ltrh ../output/queries
total 156K
-rw-rw-r-- 1 mgelbana mgelbana 156K Feb 9 20:42 query_0.sql
$ ./dsqgen -v -out ../output/queries -dir ../query_templates -dialect netezza -template ../query_templates/query2.tpl
qgen2 Query Generator (Version 3.2.0)
Copyright Transaction Processing Performance Council (TPC) 2001 - 2021
Parsed 1 templates
$ ls -ltrh ../output/queries
total 4.0K
-rw-rw-r-- 1 mgelbana mgelbana 2.1K Feb 9 20:44 query_0.sql
因此,无论我是选择一个特定的模板还是只选择处理所有模板,我仍然会每次都以完全相同的名称将输出写入一个文件中!
那么如何让这个工具将生成的可运行SQL查询输出到.sql
关联模板后的专用文件名中呢?
我用过 tpc-ds v3.2.0 有几个 bug。其中之一是您在上面提到的问题(生成对同一文件的查询!)。为了节省您的时间,这里提供了完整的 bash 脚本,用于从模板以及 Netezza 的变体生成查询。您需要编辑脚本来设置一些变量/路径,仅此而已。让我知道是否有任何问题。祝你好运!