Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/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
Apache spark 始终获取java.io.FileNotFoundException并要求';刷新表tableName';查询配置单元和转换数据时_Apache Spark - Fatal编程技术网

Apache spark 始终获取java.io.FileNotFoundException并要求';刷新表tableName';查询配置单元和转换数据时

Apache spark 始终获取java.io.FileNotFoundException并要求';刷新表tableName';查询配置单元和转换数据时,apache-spark,Apache Spark,我运行了一个计划进程,该进程使用sparkSQL查询配置单元中的表,并进行一些转换,然后计算数据集中的行数: val dataset = this.query_hive(sql_statement) val result_interm = this.transformation_step1(dataset) val result = this.transformation_step2(result_interm) println(result.count()) 我遇到

我运行了一个计划进程,该进程使用sparkSQL查询配置单元中的表,并进行一些转换,然后计算数据集中的行数:

val dataset       = this.query_hive(sql_statement)
val result_interm = this.transformation_step1(dataset)
val result        = this.transformation_step2(result_interm)
println(result.count())

我遇到的问题是配置单元中的表,它更新得相当频繁,每当它在spark作业运行时更新时,我都会得到
spark java.io.FileNotFoundException,通过运行spark发出的刷新表表
错误消息,使spark中的缓存无效。我的问题:有什么方法可以防止这种情况发生吗?

您可以尝试以下选项:

  • 在使用某些转换之前,立即运行
    刷新表
  • 编写一些
    try finally
    code部分,在那里您将模拟某种重试逻辑
  • 实际上,第三个选项我无法测试,但您可以尝试创建经常更新为
    托管
    表的表,然后创建另一个
    外部
    表,该表将指向
    托管
    表的位置,通过这种方式,它可以读取旧的值,而不会挤压
    java.io.FileNotFoundException

  • 希望这能有所帮助。

    您可以尝试以下选项:

  • 在使用某些转换之前,立即运行
    刷新表
  • 编写一些
    try finally
    code部分,在那里您将模拟某种重试逻辑
  • 实际上,第三个选项我无法测试,但您可以尝试创建经常更新为
    托管
    表的表,然后创建另一个
    外部
    表,该表将指向
    托管
    表的位置,通过这种方式,它可以读取旧的值,而不会挤压
    java.io.FileNotFoundException
  • 希望这能有所帮助