有没有办法使用预编译的 sql 完成工作并通过 java api (bigquery) 多次运行

Posted

技术标签:

【中文标题】有没有办法使用预编译的 sql 完成工作并通过 java api (bigquery) 多次运行【英文标题】:Is there a way to make a job with a precompiled sql and run it multiple times via java api (bigquery) 【发布时间】:2012-08-16 15:00:30 【问题描述】:

有没有办法使用预编译的 sql 完成作业并通过 java api (bigquery) 多次运行?

我知道我可以使用作业,但没有办法快速重新运行作业。

正如谷歌所说:

没有重新运行作业的单一调用方法;如果您想重新运行特定作业:

调用 jobs.get 以检索资源以重新运行作业, 移除 id、jobId、status 和 statistics 字段。根据需要更改任何其他字段。 使用修改后的资源调用 jobs.insert 以启动新作业。

我怎样才能做到这一点,用什么功能?: 移除 id、jobId、status 和 statistics 字段。根据需要更改任何其他字段。

如果我设法做到这一点,要重置作业配置,它会使用预编译的嵌套 sql 语句吗?我很好奇

提前致谢:

阿提拉

【问题讨论】:

【参考方案1】:

BigQuery 没有预编译 SQL 的概念。一般来说,SQL 语句的分析只占查询时间的很小一部分,所以预编译它并没有太大的好处。

但是,重新运行作业(通过发送相同的作业配置)应该可以工作。

【讨论】:

以上是关于有没有办法使用预编译的 sql 完成工作并通过 java api (bigquery) 多次运行的主要内容,如果未能解决你的问题,请参考以下文章

C中预编译详解

mybatis为何能防止sql注入

EF6 查询预编译

使用具有预调整大小的ajax进行多个文件上载

mysql存储过程

Java代码审计之SQL注入