【问题标题】:AWS Glue table missing - Pyspark error Py4JJavaError (error while saving table)AWS Glue 表丢失 - Pyspark 错误 Py4JJavaError(保存表时出错)
【发布时间】: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


    【解决方案1】:

    如果每个人都发现一个奇怪的问题,例如,AWS 报告说胶水存在异常行为,导致表格“消失”(因为表格仍然存在而消失,只是对于我们的用户组不可见我们的角色,仅对给定帐户的管理员或 root 用户可见)。

    那么,在这种情况下应该怎么做呢?在这种特殊情况下,需要联系 AWS 来解决事件(唯一可能的途径)。

    干杯,

    【讨论】:

      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2018-08-31
      • 1970-01-01
      相关资源
      最近更新 更多