API для записи хранилища BigQuery с помощью C#

#c# #.net-core #google-bigquery

#c# #.net-core #google-bigquery

Вопрос:

Недавно я обнаружил эту версию 2.5.0 от Google.Облако.Большой запрос.Хранение.Библиотека V1 теперь поддерживает API для записи в хранилище в качестве альтернативы устаревшему потоковому API (т. Е. insertAll):

https://cloud.google.com/dotnet/docs/reference/Google .Облако.Большой запрос.Storage.V1/последняя версия /история

Мое первоначальное впечатление заключается в том, что библиотеки 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.