Экспорт коллекций в BigQuery
Я пытался экспортировать коллекцию в BigQuery
с помощью расширения " Экспорт коллекций в BigQuery".
Но я не могу экспортировать все коллекции.
Мне нужно экспортировать всю коллекцию и подколлекцию в BiqQuery, используя Экспорт коллекций в расширения BigQuery
Я могу экспортировать только одну коллекцию, но не могу экспортировать все.
Может ли кто-нибудь помочь мне экспортировать все коллекции и подколлекции?
3 ответа
Вы можете установить второе расширение «поток коллекций в biquery», чтобы вторая коллекция экспортировалась в BQ. Просто зайди в меню расширений и у тебя получилось с первого раза
Вы можете попробовать экспортировать информацию в корзину или локальный файл, выполнив команду gcloud firestore export gs://mybucket/my/path
как упоминалось здесь. Это позволит экспортировать все коллекции с помощью одной команды.
Я рекомендую вам экспортировать его в GCS, однако вы можете загрузить информацию в BigQuery, следуя одному из этих методов.
Скорее всего, это проблема с расширением, которое вы используете, поскольку расширения все еще находятся на стадии бета-тестирования, но вы все равно можете открыть запрос функции, чтобы они добавили дополнительные функции к расширению в будущем и / или сообщали о любой ошибке напрямую.
Надеюсь, вы найдете это полезным!
Мне было полезно перейти в раздел «Облачные функции» для моего проекта Firebase, перейти на консоль GCP и загрузить zip-архив с исходным кодом, развернутым для моего проекта.ext-firestore-bigquery-export-fsexportbigquery
функция.
Там я заметил, что значениеprocess.env.COLLECTION_PATH
в конечном итоге передаетсяfunctions.firestore.document()
который просто создает путь коллекции с пространством имен, где подстановочные знаки могут использоваться на любом уровне пути... и в этом заключается магия.
Если вы зададите свой путь к коллекции просто как переменную с подстановочным знаком, например «{AnyCollection}», тогда функция будет захватывать события для всех без исключения коллекций в вашей базе данных Firestore. Требуется только один экземпляр расширения.
Общее решение:
- Установите путь к коллекции "{AnyCollection}"
- Установите для идентификатора таблицы значение, указывающее, что это мультиколлекция, например AnyCollection.
- Может быть полезно установить для поля подстановочного знака столбца с идентификаторами родительского документа Firestore значение true, хотя это и не обязательно.
- Вы также можете запросить имя коллекции из
document_name
в вашей таблице BigQuery, которая включает такие пути, как «projects/my-firebase-project/databases/(default)/documents/my-firestore-collection/U5OeEv7jZCY8ja0g2gLr».
- Вы также можете запросить имя коллекции из