【问题标题】:Can I temporarily pause the RDF bulk loading process for a while and then recover it back to process?我可以暂时暂停 RDF 批量加载过程一段时间,然后将其恢复到进程吗?
【发布时间】:2013-09-07 02:53:57
【问题描述】:

我目前正在使用 rdf_loader_run() 过程将 DBpedia 和 Freebase 数据转储批量加载到 virtuoso 开源版本 v7 中。数据库在我们的服务器上,我在 Virtuoso 中为在线服务运行了另一个图形 IRI。加载过程在很大程度上影响了服务的响应率。我可以使用 isql 中的 rdf_loader_stop() 来暂时暂停加载线程,是否能够通过再次运行 rdf_loader_run() 命令恢复到之前的加载状态?
官方 Wiki 没有很好地解释这一点。

【问题讨论】:

    标签: rdf bulkloader bulk-load virtuoso data-dump


    【解决方案1】:

    rdf_load_stop() 将停止导入,您可以随时再次运行rdf_loader_run() 重新启动它。

    如果您需要强制停止,请输入txn_killall(1)

    您可以通过打开一个新的 isql 窗口并键入以下查询来检查您的导入状态:SELECT ll_state, COUNT(ll_state) FROM load_list GROUP BY ll_state

    ll_state = 0: 尚未处理的文件
    ll_state = 1: 当前正在处理的文件
    ll_state = 2: 已完成的文件

    如果您进行了蛮力停止,则必须再次将 ll_state=1 行更改为 ll_state=0 以确保它们将被处理。

    【讨论】:

      【解决方案2】:

      rdf_loader_stop() 将在当前导入的文件完成后停止导入。此时队列实际上完好无损。严格来说,它只是放了一个标志,在进入队列中的下一个文件之前,它会进行导入过程检查。

      rdf_loader_run() 将继续处理队列中的下一个文件

      【讨论】:

      • 命令不是rdf_load_stop() 而是of rdf_loader_stop() 吗?
      • 我提出了修改建议,但被拒绝了。
      【解决方案3】:

      rdf_load_stop() 是您正在寻找的。但是,它只是停止加载 next 文件。当前文件必须先完成。

      它基本上在db.dba.load_list 表中插入一个##stop 文件,(我猜)在Virtuoso 处理load_list 中的下一个文件之前首先对其进行检查

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        • 2012-04-26
        • 1970-01-01
        相关资源
        最近更新 更多