数据连接与集成Java转换Basic transforms高级配置

注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

高级配置

本节介绍如何在Java变换中使用高级配置选项。

最大搭建持续时间

为了确保数据的新鲜度或限制成本,可能需要限制任务的运行时间。例如,如果一个任务正在与外部服务交互并变得无响应,限制其运行时间是有用的,因为它可能无法完成。在代码库中,可以通过使用MaxAllowedDurationCompute装饰器来限制任务的持续时间,如下所示:

Copied!
1package myproject.datasets; 2 3import com.palantir.transforms.lang.java.api.*; 4import java.time.Duration; 5import org.apache.spark.sql.Dataset; 6import org.apache.spark.sql.Row; 7 8public final class FilterTransform { 9 10 // 限制计算函数的最大允许执行时间为2小时 11 @MaxAllowedDuration(value = "PT2H") 12 @Compute 13 public void myComputeFunction( 14 // 输入数据集路径 15 @Input("/examples/students_hair_eye_color") FoundryInput myInput, 16 // 输出数据集路径 17 @Output("/examples/students_hair_eye_color_filtered") FoundryOutput myOutput) { 18 // 读取输入数据集并转换为DataFrame 19 Dataset<Row> inputDf = myInput.asDataFrame().read(); 20 // 过滤DataFrame中眼睛颜色为棕色的记录,并写入输出数据集 21 myOutput.getDataFrameWriter(inputDf.filter("eye = 'Brown'")).write(); 22 } 23}