[英]Importing csv file into single column of a MySQL table
我已經在Google上搜索了很多,但沒有發現任何與我的問題匹配的東西。
我有很多時間序列,其中包含不同的傳感器讀數。 每個時間序列都存儲在一個.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;
現在,我應該用上面描述的.csv文件中包含的值填充reading_value
字段。 此類文件的示例:
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作為客戶端。
您要尋找的這種工具稱為ETL (提取,轉換,加載)。
您可以從csv文件中提取數據(除其他外),通過添加來自傳感器db-table的信息(除其他外)將它們轉換,然后將其加載到sensor_reading db-table中。
市場上有大量的ETL。 盡管我是一個不可知論的,免費的,易於學習的人,並且可以滿足您將來的所有需求,但是您可以開始評估PDI(Pentaho Data Integrator,綽號為Kettle)。 轉到此處 ,下載最新的Data Integrator,解壓縮並按spoon.bat / spoon.sh。 一個很好的入門在那里 。 而StackOverFlow標志Pentaho Data Integration
響應通常很快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.