Не удалось выполнить импорт CLI InfxDB при использовании огромного файла - PullRequest
0 голосов
/ 07 февраля 2019

В настоящее время я работаю над анализом и вставкой данных NASDAQ в базу данных притока.Я позаботился обо всех правилах вставки данных (экранирование специальных символов и организация в соответствии с форматом: <measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]).

Ниже приведен пример моих данных: apatel17@*****:~/output$ head S051018-v50-U.csv # DDL CREATE DATABASE NASDAQData# DML # CONTEXT-DATABASE:NASDAQData U,StockLoc=6445,OrigOrderRef=22159,NewOrderRef=46667 TrackingNum=0,Shares=200,Price=73.7000 1525942800343419608 U,StockLoc=6445,OrigOrderRef=20491,NewOrderRef=46671 TrackingNum=0,Shares=200,Price=73.7800 1525942800344047668 U,StockLoc=952,OrigOrderRef=65253,NewOrderRef=75009 TrackingNum=0,Shares=400,Price=45.8200 1525942800792553625 U,StockLoc=7092,OrigOrderRef=51344,NewOrderRef=80292 TrackingNum=0,Shares=100,Price=38.2500 1525942803130310652 U,StockLoc=7092,OrigOrderRef=80292,NewOrderRef=80300 TrackingNum=0,Shares=100,Price=38.1600 1525942803130395217 U,StockLoc=7092,OrigOrderRef=82000,NewOrderRef=82004 TrackingNum=0,Shares=300,Price=37.1900 1525942803232492698

Я также создал базу данных: NASDAQData Внутренний приток.

Проблема, с которой я сталкиваюсь, заключается в следующем: файл имеет приблизительно 13 миллионов строк (12,861,906, если быть точным)Я пытаюсь вставить эти данные, используя команду импорта CLI, как показано ниже: influx -import -path=S051118-v50-U.csv -precision=ns -database=NASDAQData

Я обычно получаю до 5 000 000 строк, прежде чем я получаю ошибку для вставки.Я запускал этот код несколько раз, и иногда я получаю ошибку в 3 000 000 строк.Чтобы выяснить эту ошибку, я выполняю тот же код на части файла.Я делю данные на 500 000 строк каждая, и код успешно выполняется для всех меньших файлов.(все 26 файлов по 500 000 строк)

Случилось ли это с кем-то еще или кто-то знает решение этой проблемы, когда огромный файл показывает ошибки при вставке данных, но если он разбился и работал с меньшим размером данных,Импорт работает отлично.

Любая помощь приветствуется.Спасибо

1 Ответ

0 голосов
/ 08 февраля 2019

В соответствии с рекомендациями influx документации может потребоваться разбить файл данных на несколько более мелких, поскольку запрос http, используемый для выдачи записей, может timeout через 5 секунд.

Если ваш файл данных имеет более 5000 точек, может потребоваться разбить этот файл на несколько файлов, чтобы записать данные в пакетном режиме в InfluxDB.Мы рекомендуем записывать баллы партиями от 5000 до 10000 баллов.Меньшие пакеты и большее количество HTTP-запросов приведут к неоптимальной производительности.По умолчанию время ожидания HTTP-запроса истекает через пять секунд.InfluxDB по-прежнему будет пытаться записать точки после истечения этого времени, но не будет подтверждения того, что они были успешно записаны.

В качестве альтернативы вы можете установить ограничение на количество точек, записываемых в секунду, используя pps вариант.Это должно снять стресс с вашей influxdb.

См .: https://docs.influxdata.com/influxdb/v1.7/tools/shell/#import-data-from-a-file-with-import

...