#c# #.net-core #google-bigquery
#c# #.net-core #google-bigquery
Вопрос:
Недавно я обнаружил эту версию 2.5.0 от Google.Облако.Большой запрос.Хранение.Библиотека V1 теперь поддерживает API для записи в хранилище в качестве альтернативы устаревшему потоковому API (т. Е. insertAll):
Мое первоначальное впечатление заключается в том, что библиотеки C # похожи на пример Python, где скомпилированное определение protobuf используется для инициализации определения схемы. Я надеялся найти пример, более близкий к тому, что предоставляется для Java-клиента, где предоставляется JsonWriterStream:
https://cloud.google.com/bigquery/docs/write-api#write_data_using_the_jsonstreamwriter
Я бы очень хотел использовать BigQuery Storage Write API и хотел бы знать, есть ли какие-либо примеры использования API, которые соответствуют простоте устаревшего потокового API?
Комментарии:
1. К сожалению, мне не удалось найти пример кода, похожего на Java-клиент. Однако вы можете вызвать проблему в репозитории google-cloud-dotnet на Github, запрашивая образец кода, а также узнать, включена ли реализация в дорожную карту клиентской библиотеки.
Ответ №1:
В настоящее время нет ручного уровня, написанного поверх клиента C #. Java — единственный язык, который в настоящее время поддерживает использование JSON. Кроме того, даже если для C # добавлен ручной уровень, он, скорее всего, будет не так прост в использовании, как insertAll (устаревший потоковый API), поскольку Write API — это принципиально другой API, который поддерживает семантику ровно один раз (insertAll — дедупликация с максимальным усилием) и пакетную обработку (вы должны использовать Loadвместо insertAll для пакетной обработки).
Вот статья, посвященная обзору API записи: https://cloud.google.com/blog/topics/developers-practitioners/bigquery-write-api-explained-overview-write-api
Будет доступно больше материалов, рассказывающих об основах API.