Внешняя таблица разделов куста Bigquery создана для набора данных, но не может просмотреть столбец с ключом раздела

Я создал сценарий terraform для создания набора данных и внешней таблицы в Bigquery. Ниже приведен скрипт терраформирования

  1 resource "google_bigquery_dataset" "bigquery" {
  2   dataset_id                  = "${var.biqquery_dataset_id}"
  3   friendly_name               = "${var.friendly_name}"
  4   description                 = "This is a test description"
  5   location                    = "${var.location}"
  6   project                     = "${var.project}"  
  7   default_table_expiration_ms = 3600000
  8 
  9   labels = {
 10     env = "default"
 11   }
 12 }
 13 
 14 resource "google_bigquery_table" "bigquery_sheet" {
 15   dataset_id = google_bigquery_dataset.bigquery.dataset_id
 16   table_id   = "${var.bigquery_table_id}"
 17   project                     = "${var.project}"
 18 
 19  schema = <<EOF
 20 [
 21   {
 22     "name": "ip",
 23     "type": "STRING",
 24     "mode": "NULLABLE",
 25     "description": "The Permalink"
 26   },
 27 
 28   {
 29     "name": "fraudType",
 30     "type": "STRING",
 31     "mode": "NULLABLE",
 32     "description": "The Permalink"
 33   },
 34 
 35   {
 36     "name": "probability",
 37     "type": "FLOAT",
 38     "mode": "NULLABLE",
 39     "description": "State where the head office is located"
 40   }
 41 
 42 ]
 43 EOF
 44 
 45   external_data_configuration {
 46     autodetect    = false
 47     source_format = "${var.source_format}"
 48 
 49  csv_options {
 50     quote = ""
 51     allow_jagged_rows = "false"
 52     skip_leading_rows = "0"
 53 
 54 }
 55  hive_partitioning_options {
 56     mode              = "AUTO"
 57     source_uri_prefix = "gs://xxxx/file/"
 58  }
 59  ignore_unknown_values = "false"
 60     source_uris = [
 61       "gs://xxxx/file/*",
 62     ]
 63   }
 64 }

Я могу создать внешнюю таблицу разделов улья под набором данных, но не удалось создать ключ раздела в виде столбца. Но когда я создаю из облачной консоли Google с той же схемой, я могу правильно просматривать столбец ключа раздела в разделе сведений о таблице.

В скриптах terraform отсутствует столбец с ключом раздела при создании таблицы.

Я не уверен, что еще не хватает в сценариях.


person klee    schedule 15.07.2020    source источник
comment
Что вы имеете в виду под четвертым столбцом? Можете быть более конкретными? Может быть, показывая, что именно вы видите при создании таблицы вручную и используя terraform   -  person Alvaro    schedule 15.07.2020
comment
Пожалуйста, поделитесь командами, используемыми для создания таблицы вручную, также команда, используемая для получения информации о схеме, и снимок экрана могут быть полезны, чтобы выяснить, что происходит.   -  person Enrique Zetina    schedule 16.07.2020
comment
Обновил вопрос. Дайте мне знать, если что-то непонятно.   -  person SST    schedule 16.07.2020
comment
Странно, но в случае проблемы с неподдерживаемым разделом команда gcloud тоже должна завершиться ошибкой; тем не менее, таблица создается без проблем, я думаю, что Terraform использует BigQuery REST API для создания таблицы, я предлагаю вам провести тест с REST API самостоятельно вместо команды gcloud, чтобы проверить, работает ли он тоже.   -  person Enrique Zetina    schedule 18.07.2020


Ответы (1)


Атрибут schema должен находиться в блоке external_data_configuration, а не в блоке google_bigquery_table верхнего уровня.

Я понятия не имею, почему обе позиции действительны, но только одна учитывает поле разделения.

person caffeinate_me    schedule 01.12.2020