gpt4 book ai didi

apache-spark - 如何同时刷新表?

转载 作者:行者123 更新时间:2023-12-03 07:12:06 24 4
gpt4 key购买 nike

我正在使用 Spark Streaming 2.1。我想定期刷新一些缓存表(由 Spark 提供的数据源加载,如 parquet、MySQL 或用户定义的数据源)。

  1. 如何刷新表格?

    假设我加载了一些表格

    spark.read.format("").load().createTempView("my_table")

    它也被缓存

    spark.sql("缓存表my_table")

    下面的代码是否足以刷新表格,以及何时接下来加载表格,它会自动缓存

    spark.sql("刷新表my_table")

    或者我必须手动执行此操作

    spark.table("my_table").unpersist
    Spark.read.format("").load().createOrReplaceTempView("my_table")
    Spark.sql("缓存表my_table")

  2. 同时刷新表是否安全?

    我所说的并发是指使用 ScheduledThreadPoolExecutor 在主线程之外进行刷新工作。

    当我对表调用刷新时,如果 Spark 正在使用缓存表,会发生什么情况?

最佳答案

在 Spark 2.2.0 中,他们引入了刷新表元数据的功能(如果表是由 hive 或某些外部工具更新的)。

您可以通过使用 API 来实现,

spark.catalog.refreshTable("my_table")

此 API 将更新该表的元数据以保持一致。

关于apache-spark - 如何同时刷新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45809152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com