ECL - HPCC 测试 Roxie 查询

ECL - HPCC Testing Roxie query

我正在尝试使用 ECL 语言编写 Roxie 查询。有没有办法在不不断发布查询的情况下编写和测试代码?

我假设您只是想避免发布查询时的额外 UI-oriented 步骤(例如,在 ECL Watch 和您的开发环境之间来回切换)。通过一些构建脚本和 REST 调用,您可以相对轻松地对 roxie 进行测试。

在HPCC中,roxie和hthor从执行和运行环境的角度来看是相似的。他们的战术执行策略不同(roxie 在 OS 线程中处理查询,hthor 通过分叉子进程来处理它们),但经验法则是,如果你能让代码在 hthor 中运行良好,那么它可能会运行良好在 roxie.

您可以在开发过程中利用这种相似性。无需将查询发布到 roxie、测试、拆除查询并重复所有这些,您只需将作业提交给 hthor(就像您为 thor 作业所做的那样)。您将不得不硬编码一些通常作为 roxie 查询参数的测试值,但这很简单。

使用 hthor 的另一个好处是它是唯一支持任何类型 step-by-step 调试的引擎。不过,这可能是一个 hit-or-miss 命题,具体取决于您执行的 HPCC 版本,而您没有提到这一点。即使不使用调试器,hthor 的执行图至少显示了特定查询的数据流的详细信息,例如每一步的记录计数(roxie 显示了图,但没有单个查询的详细信息)。