Мне нужно вставить миллионы данных из MATLAB в Vertica. Я попытался использовать функцию datainsert, представленную в MATLAB, но она кажется медленной, так как для 3000 записей требуется около 6 секунд. Другие функции fastinsert и insert работают еще медленнее. Есть ли более быстрый способ вставки данных?
вставить данные в vertica из MATLAB
comment
Есть ли какой-нибудь метод для Vertica, который, как известно, работает быстрее (другой язык программирования/импорт из файла или что-то еще)?
- person Daniel   schedule 25.02.2016
comment
Собственный COPY Vertica - это один из методов, упомянутых @Up_One, но я не уверен, смогу ли я вставить в таблицу только выбранные столбцы, что мне нужно для моей работы. Только выбранные столбцы должны быть вставлены, а другие должны быть оставлены нулевыми для более поздних целей.
- person Hariprasad Rao   schedule 26.02.2016
Ответы (1)
Сделайте себе одолжение и экспортируйте данные в формат csv. Подробнее см. по этой ссылке. Производительность Vertica на последовательных операторах вставки низкая. Вы должны использовать собственную команду Vertica COPY для загрузки данных из экспортированного CSV-файла, которая будет выполнять около 1 миллиона строк в секунду в небольшом кластере с одним узлом.
person
Up_One
schedule
25.02.2016
Мои данные находятся в массиве ячеек, который нельзя записать с помощью функции csvwrite, указанной в ссылке.
- person Hariprasad Rao; 26.02.2016
Массив ячеек имеет временную метку даты и времени, которая представляет собой строку для всех записей.
- person Hariprasad Rao; 26.02.2016
Также мне нужно вставить данные только в несколько столбцов таблицы, а не во все.
- person Hariprasad Rao; 26.02.2016
Итак, я думаю, вы не можете передать данные в текстовый файл? - и вы можете использовать команду копирования для вставки только в несколько столбцов, а не во все, используя опцию заполнителя.
- person Up_One; 29.02.2016