apache.beam.sdk.schemas.Schema.FieldType

时间:2019-06-19 06:43:31

标签: java google-cloud-dataflow apache-beam beam-sql

尝试使用BeamSQL将数据写入BigQuery表。要写入数据,我们需要该数据的模式。使用 org.apache.beam.sdk.schemas 定义数据收集的架构。在该数据集中,我们有数值数据类型列。想知道 org.apache.beam.sdk.schemas.Schema.FieldType 类中Numeric的等效数据类型是什么。请有人帮助我使用数值数据类型的等效架构。

2 个答案:

答案 0 :(得分:0)

DECIMAL可能就是您想要的。

仅在说数字时要澄清一下,是指由BigQuery数据类型(https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types)定义的NUMERIC类型吗?

答案 1 :(得分:0)

BeamSQL的Decimal可以显示BigQuery的NUMERIC。 BeamSQL的Decimal由Java的BigDecimal实现,而BigDecimal本身根据Java文档支持任意精度。它的缺点是性能,因为BigDecimal不是Java原语(与FLOAT或DOUBLE相比,编码和解码将很昂贵)。