Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery Bigquery作业-连接已关闭_Google Bigquery - Fatal编程技术网

Google bigquery Bigquery作业-连接已关闭

Google bigquery Bigquery作业-连接已关闭,google-bigquery,Google Bigquery,我使用bg命令行在表中插入数据,有时(1%或2%)会出错 加载操作中出现BigQuery错误:无法连接BigQuery 服务器原因:错误(10054,'已强制建立现有连接 已由远程主机关闭(“) 如果在之后重新执行该命令,则作业将成功运行 我没有使用云存储和Bucket,但我已经在谷歌网络中使用了计算引擎服务器 感谢您的帮助使用bq命令行客户端时,您似乎遇到了严重的连接错误 当客户端和BigQuery服务之间的服务器终止连接时,会发生连接错误。BigQuery本身总是返回JSON有效负载。如果b

我使用bg命令行在表中插入数据,有时(1%或2%)会出错

加载操作中出现BigQuery错误:无法连接BigQuery 服务器原因:错误(10054,'已强制建立现有连接 已由远程主机关闭(“)

如果在之后重新执行该命令,则作业将成功运行

我没有使用云存储和Bucket,但我已经在谷歌网络中使用了计算引擎服务器


感谢您的帮助

使用
bq
命令行客户端时,您似乎遇到了严重的连接错误

当客户端和BigQuery服务之间的服务器终止连接时,会发生连接错误。BigQuery本身总是返回JSON有效负载。如果
bq
客户端收到一个非JSON响应,那么它会显示错误消息“由于以下原因无法连接到BigQuery服务器:”错误消息。(错误消息的最后一部分包含某些中间服务器遇到的任何问题。)

要弄清楚为什么会有1%的操作因连接错误而失败可能很困难

也许您的Google计算引擎实例正在BigQuery不存在的区域中运行?现在BigQuery在欧洲和美国都有业务。如果您没有在这些位置附近运行实例,则长距离网络连接可能是导致问题的原因。尝试使用美国的一个地区,看看你是否有更好的连通性

如果你在BigQuy所在的区域,那么考虑打开一个支持请求。 作为一种解决方法,您可以自动重试BigQuery操作

需要注意的一点是:
bq
命令行客户端不会对HTTP连接错误重试操作。在某些情况下,这可能会导致重复工作(例如,插入允许服务器提供作业id的加载作业)。在其他情况下,这会将错误代码“已经存在”与成功混为一谈,这是一些用例可能想要区分的

如果您的用例可以安全地重试,那么您的脚本可以安全地重试失败的
bq
操作。您可能希望编写一个自定义客户端来执行所需的操作,并以一种安全的重试方式执行这些操作。例如py使用bigquery_client.py来完成它的工作,编程层有更多的功能,比如对table.insert操作“忽略现有的”。虽然bq.py无法“mk”已存在的表,但即使该表已存在,bigquery_client.py的CreateTable也可以“成功”。这将简化重试


祝你好运

谢谢Michael的回答,Compute Engine和BigQuery数据存储在同一个地区,欧洲也是如此。当我们发现错误时,我们将处理重新执行,但奇怪的是,我在Google网络中失去了http连接。同时,我们打开一个支持请求