Импорт файла CSV в один столбец таблицы MySQL - PullRequest
0 голосов
/ 24 октября 2018

Я много гуглил и не нашел ничего, что соответствовало бы моей проблеме.

У меня много временных рядов, содержащих разные показания датчиков.Каждый временной ряд сохраняется в файле .csv, поэтому каждый файл содержит один столбец.

Мне нужно заполнить эту таблицу MySQL:

CREATE TABLE scheme.sensor_readings (
    id int unsigned not null auto_increment,
    sensor_id int unsigned not null,
    date_created datetime,
    reading_value double,
    PRIMARY KEY(id),
    FOREIGN KEY (sensor_id) REFERENCES scheme.sensors (id) ON DELETE CASCADE
) ENGINE = InnoDB;

, тогда как таблица sensors:

CREATE TABLE scheme.sensors ( 
    id int unsigned not null auto_increment,
    sensor_title varchar(255) not null,
    description varchar(255) not null,
    date_created datetime,
    PRIMARY KEY(id)
) ENGINE = InnoDB;

Теперь я должен заполнить поле reading_valueсо значениями, содержащимися в описанных выше CSV-файлах.Пример файла такого типа:

START INFO  
Recording Time  *timestamp*
Oil Pressure    dt: 1,000000 sec
STOP INFO   
0,445328    
0,429459    
0,4245  
0,445099    
0,432434    
0,433426    
...
EOF

Мне нужно создать SQL-запрос, в котором я заполняю эту таблицу, читая значения из файла .csv.Я не могу понять, как поступить: использовать ли временную таблицу в качестве буфера?

Я использую HeidiSQL в качестве клиента.

1 Ответ

0 голосов
/ 25 октября 2018

Тип инструмента, который вы ищете, называется ETL (извлечение, преобразование, загрузка).

Вы можете извлечь данные из csv-файлов (среди прочего), преобразовать их, добавив информацию из db-таблицы датчика (среди прочего), и загрузить ее в db-таблицу sensor_reading.

На рынке имеется множество ETL.Хотя я должен быть независимым, бесплатным, простым в освоении и охватывающим все ваши будущие потребности, вы можете приступить к оценке PDI (Pentaho Data Integrator, по прозвищу Kettle).Перейдите туда , загрузите последнюю версию Data Integrator, разархивируйте и нажмите spoon.bat / spoon.sh.Хорошее начало - это там .А флаг StackOverFlow Pentaho Data Integration обычно отвечает довольно быстро.

В качестве альтернативы вы можете попробовать Talend или много других .

...