Рекомендации по использованию библиотеки приема Kusto
В этой статье описываются рекомендации по приему данных с помощью библиотеки приема Kusto.
Предпочитать постановку в очередь прямому приему
В рабочих сценариях используйте клиент приема в очереди. Дополнительные сведения см. в разделах Прием в очереди и Прямой прием.
Использование одного экземпляра клиента приема
Клиентские реализации Приема Kusto являются потокобезопасными и многократно используемыми. Для каждого целевого кластера используйте один экземпляр клиента в очереди или клиента прямого приема для каждого процесса. Запуск нескольких экземпляров может перегрузить кластер, что приведет к тому, что он перестанет отвечать на допустимые запросы или замедлится.
Ограничить состояние операции отслеживания
Для потоков данных большого объема ограничьте использование положительных уведомлений для запросов на прием. Чрезмерное отслеживание может привести к увеличению задержки приема и даже к полной неотвеченности кластера. Дополнительные сведения см. в разделе Состояние операции.
Оптимизация пропускной способности
При планировании конвейера приема учитывайте следующие факторы, так как они могут существенно повлиять на пропускную способность приема.
Фактор | Описание |
---|---|
Размер данных | Прием более эффективен при выполнении крупными блоками. Рекомендуется отправлять данные пакетами от 100 МБ до 1 ГБ (без сжатия). |
Формат данных | CSV — это самый быстрый формат для приема. Для того же объема данных JSON может занять в 2 или 3 раз больше. Дополнительные сведения см. в разделе Форматы данных, поддерживаемые для приема. |
Ширина таблицы | Принимать только необходимые данные. Каждый столбец необходимо закодировать и проиндексировать, что означает, что более широкие таблицы могут иметь более низкую пропускную способность. Управление тем, какие поля будут приниматься, путем предоставления сопоставления приема. |
Расположение исходных данных | Избегайте операций чтения между регионами, чтобы ускорить прием. |
Загрузка в кластере | Когда кластер испытывает высокую нагрузку на запросы, прием занимает больше времени. |
Примечание
Клиент приема в очереди разбивает большие наборы данных на блоки и агрегирует их, что удобно, если данные не могут быть пакетированы до приема.
Оптимизация затрат
Использование клиентских библиотек Kusto для приема данных в кластер остается самым дешевым и надежным вариантом. Мы настоятельно призываем наших клиентов ознакомиться с методами приема, чтобы оптимизировать затраты и воспользоваться преимуществами цен на службу хранилища Azure, что сделает транзакции с BLOB-объектами значительно экономичными.
Для экономичного приема:
- Ограничьте количество переданных фрагментов данных, таких как файлы, большие двоичные объекты и потоки.
- Прием больших фрагментов до 1 ГБ несжатых данных.
- Выберите пакетную обработку.
- Укажите точный, несжатый размер данных, чтобы избежать дополнительных транзакций хранилища.
- Не устанавливайте значение
FlushImmediately
true
. - Избегайте отправки небольших объемов данных с
ingest-by
тегами экстентов илиdrop-by
.
Примечание
Чрезмерное использование последних двух методов может нарушить агрегирование данных, привести к дополнительным транзакциям хранилища и повредить приему данных и производительности запросов.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по