У нас есть приложение .Net, которое получает огромный набор результатов (более 5 000 000 строк) из Kusto, обрабатывает их в памяти и загружает в Azure Cosmos DB.
Мы используем IDataReader, чтобы избежать одновременной загрузки всех данных в память. Однако мы обнаруживаем, что перед чтением первой записи из IDataReader все результаты уже были загружены в память. Есть ли способ сделать настоящую потоковую передачу для результирующего набора данных?
using (ICslQueryProviderclient = KustoClientFactory.CreateCslQueryProvider(connectionString))
{
string query = @;
client.ExecuteQuery("PageViewEvents | // some aggregation logic...", new ClientRequestProperties());
// At this point, all results have already been loaded to memory. That takes 2GB memory!
while (reader.Read())
{
// Load current record to Azure Cosmos DB
}
}