在Apache Beam中,apache.beam.sdk.schemas.Schema.FieldType.Numeric
的等效数据类型是java.math.BigDecimal
。下面是一个包含代码示例的解决方法:
import org.apache.beam.sdk.schemas.Schema;
import org.apache.beam.sdk.schemas.Schema.FieldType;
import org.apache.beam.sdk.values.Row;
import java.math.BigDecimal;
public class NumericExample {
public static void main(String[] args) {
// 创建一个包含Numeric字段的Schema
Schema schema = Schema.builder()
.addNullableField("numericField", FieldType.DECIMAL)
.build();
// 创建一个包含Numeric字段的Row
Row row = Row.withSchema(schema)
.addValue(BigDecimal.valueOf(123.45))
.build();
// 从Row中获取Numeric字段的值
BigDecimal numericValue = (BigDecimal) row.getValue("numericField");
// 打印Numeric字段的值
System.out.println("Numeric Field Value: " + numericValue);
}
}
上述代码创建了一个包含一个Numeric
字段的Schema
,然后创建了一个包含该字段值的Row
。接着从Row
中获取Numeric
字段的值,并打印该值。在这个例子中,Numeric
字段的值是123.45
。