我已经使用 Hibernate 6 升级了旧应用程序,该应用程序使用 Altlr4 运行时 4.10.1。它还使用了 Spark,它是 3.3.2,使用 Antlr4 运行时版本 4.8。运行应用程序时出现以下错误:
Caused by: java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with version 3 (expected 4).
at org.antlr.v4.runtime.atn.ATNDeserializer.deserialize(ATNDeserializer.java:56) ~[antlr4-runtime-4.10.1.jar:4.10.1]
at org.antlr.v4.runtime.atn.ATNDeserializer.deserialize(ATNDeserializer.java:48) ~[antlr4-runtime-4.10.1.jar:4.10.1]
at org.apache.spark.sql.catalyst.parser.SqlBaseLexer.<clinit>(SqlBaseLexer.java:1603) ~[spark-catalyst_2.13-3.3.2.jar:3.3.2]
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:107) ~[spark-catalyst_2.13-3.3.2.jar:3.3.2]
Run Code Online (Sandbox Code Playgroud)
在调试时,我发现 SqlBaseLexer 是使用 antlr4 4.8 版本生成的,因此在使用任何更高版本的 antlr4 运行时会抛出错误。有没有办法在更高版本的Antlr4上运行Spark 3.3.2?
tabledata.list期间出现错误,并显示以下消息:
API limit exceeded: Unable to return a row that exceeds the API limits. To retrieve the row, export the table.
Run Code Online (Sandbox Code Playgroud)
它未在https://cloud.google.com/bigquery/troubleshooting-errors#errortable中列出。
每次都会发生此错误。
我们可以正常地将此表导出到GCS中。结果看起来很正常(没有非常大的行)。
在实际错误发生之前,我们设法检索了几个结果页面。
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "API limit exceeded: Unable to return a row that exceeds the API limits. To retrieve the row, export the table.",
"reason" : "apiLimitExceeded"
} ],
"message" : "API limit exceeded: Unable to return a row that exceeds …Run Code Online (Sandbox Code Playgroud) 我想在irb中截断#inspect输出(必须将大输出裁剪为MAX_LEN).
目前,我为所有特定对象覆盖:inspect,:to_s方法.
还有其他解决方案吗?