Создание представлений схемы с помощью расширения "Экспорт коллекций в BigQuery": fs-bq-schema-views
Я попытался создать сценарий представления схемы, но не смог его создать.
может ли кто-нибудь помочь мне с созданием шага 1?
2 ответа
Обратитесь к этому документу, чтобы понять схемы BigQuery — определение схемы . Объяснили больше ниже.
Создание схемы для документа коллекции Firestore -
- Схема — это просто объект json, который имеет массив полей.
{
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "number"
}
]
}
- В массиве fields каждый элемент будет иметь свойство and.
name
это имя поля, которое вы использовали в своем документе коллекций, иtype
является типом данных. - Например, документ «Моя коллекция» имеет следующий интерфейс (усеченный):
Итак, моя схема выглядит следующим образом (обратите внимание — для краткости я не добавил все):
{
"fields": [{
"name": "awb",
"type": "string"
},
{
"name": "rfn",
"type": "string"
},
{
"name": "customerId",
"type": "string"
},
{
"name": "shipmentStatus",
"type": "string"
},
{
"name": "amount",
"type": "number"
}
]
}
Теперь вам нужно просто создать свою схему в любом каталоге на вашем компьютере, а затем запустить
npx @firebaseextensions/fs-bq-schema-views
команду из этого каталога.
Это откроет интерактивный раздел cli, где вы можете добавить свой
projectId
,
datasetId
и т. д., как показано ниже:
После этого схема будет создана для вас, и вы сможете проверить ее в пользовательском интерфейсе BigQuery.
ПРИМЕЧАНИЕ .
- Убедитесь, что у вас есть
gcloud
установлен и настроен. Шаги снова просты, следуйте инструкциям по установке Cloud SDK. - Перед запуском
npx
команду, не забудьте запуститьgcloud auth application-default login
СОВЕТ -
- В качестве хорошей практики вы можете создать каталог в корне вашего проекта и хранить там все схемы. Это поможет отслеживать все изменения, если вы используете любую систему контроля версий, например
git
(при условии, что вы регистрируетесь)
Вот так сделали -
У меня была такая же ошибка, и оказалось, что я неправильно структурировал свой файл .json.
Точная структура выглядит следующим образом:
в файле схемы json корень конфигурации должен иметь массив полей , который содержит объекты , описывающие элементы в схеме, каждый объект в массиве полей будет иметь имя и свойство типа . имя — это имя поля, которое вы использовали в своем документе коллекций в firestore, а тип — это тип данных. Если один из объектов имеет тип карты, он должен указать свой собственный массив полей, описывающий элементы этой карты (опять же точно такой же, как корневой массив конфигурации).
- для получения более подробной информации о том, как структурировать файл схемы json, пожалуйста, обратитесь к документации .
{ "поля": [ { "имя": "ИД", "тип": "строка" }, { "Назовите возраст", "тип": "число" } ] }