(Extract,
transform,
load)的L
(Load)部分,也就是说,将特定结构(structure)或者格式(format)的数据导入某个目的地(比如数据库,这里我们讨论MySQL)。
ETL
Process
本文要讨论的内容,是如何方便地将多种格式(JSON,
Text,
XML,
CSV)的数据导入MySQL之中。
本文大纲:
将Text文件(包括CSV文件)导入MySQL
将XML文件导入MySQL
将JSON文件导入MySQL
使用MySQL
workbench的Table
Data
Export
and
Import
Wizard进行JSON或CSV文件的导入导出
1.
将Text文件(包括CSV文件)导入MySQL
这里我们的讨论是基于一个假定,Text
file和CSV
file是有着比较规范的格式的(properly
formatted),比如说每行的每个数据域(field)之间是由一个共同的分隔符(比如tab:
\t)分隔的。
那么首先,你需要根据你的数据的格式(有哪些域),来设计好数据库的对应的表
(的Schema)。
举个例子,要处理的Text文件或者CSV文件是以\t作为分隔符的,每行有id,
name,
balance这么三个数据域,那么首庆哗先我们需要在数据库中创建这个表:
CREATE
TABLE
sometable(id
INT,
name
VARCHAR(255),
balance
DECIMAL(8,4))
创建成功以后就可以导入了。 *** 作方式很简单:
LOAD
DATA
LOCAL
INFILE
'你的文件路径(如~/file.csv)'
INTO
TABLE
sometable
FIELDS
TERMINATED
BY
'\t'
[ENCLOSED
BY
'"'(可选)]
LINES
TERMINATED
BY
'\n'
(id,
name,
balance)
这里要注意的是,我们需要开启local-infile这个MySQL的配置参数,才能够成功导入。究其原因,从MySQL的Manual中可以看到这么一段话:
LOCAL
works
only
if
your
server
and
your
client
both
have
been
configured
to
permit
it.
For
example,
if
mysqld
was
started
with
--local-infile=0,
LOCAL
does
not
work.
See
Section
6.1.6,
“Security
Issues
with
LOAD
DATA
LOCAL”.
不建议删除。
ETL文件是WINDOWS自带的性能日志文件。ETL分别是Extract(数据抽取)、 Transform(转换)、 Loading(装载)三个英文单词的首字母缩写。是数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。
该文件是构建数据尺槐脊仓库的重要一环,用户从数据源抽取出所需的数明瞎据,经过数陵渗据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
ETL文件尽量不建议删除。ETL文件是WINDOWS自带轿源搭的性能日志文件。ETL文件全称是Eclipse Transition Listing (The Eclipse Foundation)相关的系裂敬统文档,闭拿也关联 Windows2000Trace Log, ThermaData Logger Log Data File (Electronic Temperature Instruments Ltd) 和FileViewPro.ETL文件可以使用:FileViewPro* 、Eclipse Transition Listing (The Eclipse Foundation)【就是上文的英文名,】等软件打开。这么回答您满意吗?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)