【发布时间】:2021-10-15 20:21:50
【问题描述】:
我对特定的胶水表(我以前从未见过的东西)有异常行为,在这种情况下是由火花作业创建的表(带有气流的时间表)。
基本上,该作业包括从数据仓库中提取单个表并写入 s3/glue 中的表,覆盖现有分区(保存模式为覆盖)。由于某种原因,今天这项工作失败了,这是引发的异常。
py4j.protocol.Py4JJavaError: An error occurred while calling o108.saveAsTable.
java.lang.AssertionError: assertion failed: Expect the table customer_cdr has been dropped when the save mode is Overwrite
at scala.Predef$.assert(Predef.scala:170)
at org.apache.spark.sql.execution.command.CreateDataSourceTableAsSelectCommand.run(createDataSourceTables.scala:155)
at org.apache.spark.sql.execution.command.DataWritingCommandExec.sideEffectResult$lzycompute(commands.scala:104)
at org.apache.spark.sql.execution.command.DataWritingCommandExec.sideEffectResult(commands.scala:102)
起初,我和我的同事认为这只是 Spark 的 EMR 集群错误,然后重置集群即可解决。但后来我们看到了更奇怪的东西。
事件发生后,该表已从目录中消失(在胶水控制台中不可见,在 athena 中不可见)。 但这里有问题! 桌子还在,但被隐藏了。我们无法从搜索工具中的胶水 IDE 中看到它,但我们可以通过替换 url 中的表名从控制台访问,从 Athena 查询数据,或者我们甚至可以使用 get-table 命令从 cli 列出表。
我们尝试删除表(控制台或 cli),但遇到了以下问题:
An error occurred (EntityNotFoundException) when calling the DeleteTable operation: Table (v_ntfm_merchantlogstatus) not found
几乎就像桌子从湖层中移开一样。现在,问题是:你们有没有遇到过这样的问题,是它的调试过程吗? tks!
【问题讨论】:
标签: amazon-web-services pyspark aws-glue amazon-athena aws-lake-formation