Помимо ответа @ Raj (имена свойств чувствительны к регистру), ваш CSV-файл должен использовать один и тот же разделитель между всеми значениями.
Ваш CSV-файл (как показано в вашем вопросе) использует несовместимые разделители. Иногда он использует пробелы, а пробелы и вертикальные черты (|
) в другое время. Это не будет работать, так как предложение LOAD CSV поддерживает только один тип разделителя. Кроме того, если вы не используете разделитель по умолчанию, запятую, то вам нужно использовать опцию FIELDTERMINATOR
, чтобы указать, что это за разделитель.
Вот исправленная версия вашего CSV-файла, которая использует разделитель по умолчанию, запятую. Обратите внимание, что 2 соседние запятые используются для обозначения пропущенного значения. Если в строке отсутствует первое значение, первая запятая должна быть в начале этой строки. Кроме того, обратите внимание, что нет посторонних мест.
id,name,element1,element2,element3
1,element1,,1;2;3,1;5
2,element2,1;2;3
3,element3,1;5