我试图用ECL语言编写一个Roxie查询。有没有一种方法可以在不不断发布查询的情况下编写和测试代码?
发布于 2022-05-04 11:45:25
我假设您只是为了避免发布查询时额外的面向UI的步骤(例如,在ECL和开发环境之间来回切换)。您可以使用一些构建脚本和REST调用来对roxie进行相对无害的测试。
在HPCC中,从执行和运行时环境的角度来看,roxie和hthor是相似的。他们的战术执行策略是不同的(roxie在OS线程中处理查询,hthor通过分叉子进程来处理它们),但是经验法则是,如果您能够让代码在hthor中很好地工作,那么它在roxie中可能会运行得很好。
您可以在开发过程中利用这种相似性。与其将查询发布到roxie、测试、删除查询并重复所有这些,您还可以简单地将作业提交给hthor (就像处理thor作业一样)。您必须硬编码一些测试值,这些值通常是roxie查询的参数,但这很简单。
使用hthor的另一个好处是它是唯一支持任何一步一步调试的引擎。不过,这可能是一个偶然的建议,但取决于您正在执行的HPCC版本,而您没有提到这一点。即使您不使用调试器,hthor的执行图至少会显示特定查询的数据流的详细信息,例如每一步的记录计数(roxie显示图表,但没有关于单个查询的详细信息)。
https://stackoverflow.com/questions/72105576
复制相似问题