如何访问代码工作簿中数据集的旧事务?

How do I access an old transaction of a dataset in Code Workbook?

在 Contour 中,您可以通过单击顶部的“版本”按钮访问旧交易。

如何在代码工作簿中执行此操作?

更新: 大多数 Foundry 环境的安全配置不再支持以下方法。相反,我们建议将 Contour 用于涉及引用数据集旧事务的工作流。

旧答案:

您可以创建一个模板来接收 transaction_idbranchdataset,如下所示:

def time_machine():

    from pyspark.sql import SQLContext
    sql_context = SQLContext(spark.sparkContext)

    transaction_id = '{{{transaction_id}}}'
    branch = '{{{branch}}}'
    path = '{{{path}}}'
    return sql_context.sql("SELECT * FROM `%s:%s@%s`.`%s`" % (transaction_id, transaction_id, branch, path))

在代码工作簿中,您将创建一个新的转换并从模板开始以导入所需的事务。

不过请务必检查您的保留政策!如果您的保留政策已经删除旧交易,您将无法提取它们。