【问题标题】:BigQuery multiple data type in one data fieldBigQuery 一个数据字段中的多种数据类型
【发布时间】:2019-10-02 03:19:19
【问题描述】:

是否可以定义一个包含多种数据类型的字段的表模式?例如:

BIGQUERY 表架构

schema: 
  [{
    name: 'field1',
    type: 'string',
  },
  {
    name: 'field2',
    type: 'string or bool',
  }]

我可以在上面的例子中有一个像 field2 这样的字段,它可以有 2 个数据类型“字符串或布尔值”。

【问题讨论】:

  • 不,那不可能
  • @FelipeHoffa 我看到很多支持的搜索数据库,比如 bigquery,elasticsearch 在 1 个字段中只有 1 个类型,所以我们不能在 1 个字段中有多个可选类型对吗?

标签: javascript node.js google-bigquery schema


【解决方案1】:

您可以在一个字段中拥有一个结构并在那里定义多种数据类型。

#standardsql
CREATE TABLE `test.table1`
(
  column1 STRUCT<
    number INT64,
    text STRING,
    truth BOOL
  >,
  column2 STRING
)

从技术上讲,这是具有多种数据类型的一列 - 但在不同的“子列”中:

【讨论】:

  • 嗨 Martin Weitzmann,这是个好主意,但是如果我不确切知道输入数据的类型然后分配给正确的子列会发生什么。假设我调用 API 来获取数据并放入 bigquery,但它有 1 个字段,有时是字符串,有时是布尔值。我们如何处理它
  • 为每个可以显示的类型创建一个子字段(只有有限数量的数据类型,对)并使用条件语句(if-else 或 case-when)来填写数据到正确的位置。
  • 感谢您的指导,我认为这是最好的解决方法,因为它还不支持多种类型。
猜你喜欢
  • 2023-03-09
  • 2020-04-23
  • 2019-06-28
  • 2022-01-04
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
相关资源
最近更新 更多