java - apache.beam.sdk.schemas.Schema.FieldType 中数值的等效数据类型是什么

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

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

最佳答案

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

关于java - apache.beam.sdk.schemas.Schema.FieldType 中数值的等效数据类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56661555/

相关文章:

java - 如何创建一个获取 POJO 集合的服务方法

java - SWT 中的动态表单

google-cloud-dataflow - 使用 Dataflow failed insert WriteResult 处理 table not found 异常

Python - Apache Beam - Flink 运行器设置 : ReadFromKafka returns error - RuntimeError: cannot encode a null byte[]

google-cloud-dataflow - google-cloud-dataflow vs apache-beam

java - Maven spring boot 带参数运行调试

java - 使用 Retrofit 和 dagger 2 动态更改基本 Url

gradle - 在直接运行器上正常运行时,光束管道不会在Google Dataflow中移动

java - @OnTimer 在窗口后不触发

google-cloud-dataflow - apache beam bigtable 可迭代突变