Несколько типов данных BigQuery в одном поле данных

Можно ли определить схему таблицы с полем, содержащим несколько типов данных? Например:

СХЕМА ТАБЛИЦЫ БОЛЬШОГО ЗАПРОСА

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

Могу ли я иметь поле, подобное field2 в приведенном выше примере, которое может иметь 2 типа данных «String или Boolean».

нет, это невозможно

Felipe Hoffa 15.05.2019 06:37

@FelipeHoffa Я видел много поддерживаемых баз данных поиска, таких как bigquery, elasticsearch имеет только 1 тип в 1 поле, поэтому мы не можем иметь несколько необязательных типов в 1 поле, верно?

Quoc Van Tang 15.05.2019 06:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
690
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете иметь структуру в поле и определить там несколько типов данных.

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

Технически это один столбец с несколькими типами данных, но в разных «подстолбцах»: table schema

Привет, Мартин Вейцманн, это хорошая идея, но что произойдет, если я точно не знаю тип входных данных, а затем назначу их правильным подстолбцам. Предположим, я вызываю API для получения данных и помещаю их в bigquery, но у него есть 1 поле, которое иногда является строкой, иногда — логическим значением. Как мы с этим справляемся

Quoc Van Tang 15.05.2019 08:39

создайте подполе для каждого типа, который может отображаться (есть только ограниченное количество типов данных, правильно) и используйте условный оператор (if-else или case-when), чтобы заполнить данные в нужном месте.

Martin Weitzmann 15.05.2019 10:52

Спасибо за вашу инструкцию, я думаю, что это лучшее обходное решение, поскольку оно еще не поддерживает несколько типов.

Quoc Van Tang 15.05.2019 11:03

Другие вопросы по теме