У меня проблема с фабрикой данных Azure V2. Я разрабатываю пользовательский пакетный сервис Azure (на самом деле это просто консоль) для расчета наших данных и составления отчета. В ходе этого процесса мне нужно проанализировать множество огромных таблиц и использовать поток для чтения и записи данных и результатов.
Дело в том, что если я обрабатываю данные в промежуточной среде, что означает меньшее монтирование таблиц и меньшее количество данных, все работает нормально.
Кроме того, если я запускаю консоль на своем локальном компьютере или на виртуальной машине Azure (связь через удаленный рабочий стол), все они работают нормально, около 6 часов. Хотя этот процесс в ADF v2 занял 48 часов и получил эту ошибку:
Unhandled Exception: System.AggregateException: One or more errors occurred. ---> Microsoft.WindowsAzure.Storage.StorageException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at Microsoft.WindowsAzure.Storage.Core.ByteCountingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
at Microsoft.Data.OData.Json.JsonReader.ReadInput()
at Microsoft.Data.OData.Json.JsonReader.ParseStringPrimitiveValue(Boolean& hasLeadingBackslash)
....
Кроме того, я проверяю stdout.txt, и аналитический процесс даже не был активирован, кажется, что он мертв при инициализации (или выполнении операций заказа / группирования) данных из больших таблиц.
Процесс останавливается при этом коде:
ReportHelper.Users = user.OrderByDescending(u => u.Timestamp).GroupBy(p => p.Id, StringComparer.OrdinalIgnoreCase).ToDictionary(g => g.Key, g => g.First(), StringComparer.OrdinalIgnoreCase);
Кто-то считает, что это из-за того, что памяти узла недостаточно, я проверяю на портале Azure, что он говорит, что размер виртуальной машины равен "standard_a1".
Дело в том, что я ничего не могу изменить на узле. Как я могу решить эту проблему?
Буду очень признателен за вашу помощь!