我正在尝试读取之前使用Spark加载的delta lake表,并且我正在使用IntelliJ IDE。
val dt = DeltaTable.forPath(spark, "/some/path/")
现在,当我试图再次阅读表格时,我发现错误在下面,它工作得很好,但突然出现了这样的错误,这可能是什么原因?
注:
检查了DeltaLake路径中的文件-看起来不错。同事们能够阅读同样的DeltaLake文件。
Exception in thread "main" org.apache.spark.sql.AnalysisException: `/some/path/` is not a Delta table.
at org.apache.spark.sql.delta.DeltaErrors$.notADeltaTableException(DeltaErrors.scala:260)
at io.delta.tables.DeltaTable$.forPath(DeltaTable.scala:593)
at com.datalake.az.core.DeltaLake$.delayedEndpoint$com$walmart$sustainability$datalake$az$core$DeltaLake$1(DeltaLake.scala:66)
at com.datalake.az.core.DeltaLake$delayedInit$body.apply(DeltaLake.scala:18)
at scala.Function0.apply$mcV$sp(Function0.scala:39)
at scala.Function0.apply$mcV$sp$(Function0.scala:39)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
at scala.App.$anonfun$main$1$adapted(App.scala:80)
at scala.collection.immutable.List.foreach(List.scala:431)
at scala.App.main(App.scala:80)
at scala.App.main$(App.scala:78)
at com.datalake.az.core.DeltaLake$.main(DeltaLake.scala:18)
at com.datalake.az.core.DeltaLake.main(DeltaLake.scala)
AnalysisException:
/some/path/
不是Delta表。
AnalysisException
在给定路径的_delta_log
目录下没有事务日志时抛出。
可能还有其他问题,但这是第一次检查。
BTW根据堆叠竞赛,我认为您可能没有使用最新、最棒的德尔塔湖2.0.0。请尽快升级,因为它带来了你不想错过的大量改进。