FEA从入门到精通系列 | 文本数据源加载与存储

2017-01-07 10:39:32来源:oschina作者:openfea人点击

前面已经讲过FEA原语的分类,今天将为大家讲解文本数据源的加载与存储,在讲解之前我们先总结一下FEA支持的数据源。



1、支持Hadoop架构的数据源,如HDFS、HBASE等。


2、支持传统关系型数据库,如Oracle、Postgres、Mysql等。使得一些不能迁入到大数据平台的数据同样可以使用FEA进行分析。


3、通过REST接口扩展,可以很好的支持第三方平台的数据,如阿里云的大数据开放处理平台ODPS和内存数据库ADS等。


4、各种格式的文本文件的加载与存储。


多种数据源的支持,使得FEA能够接入更多类型的数据来进行关联分析、碰撞比对等运算,而不要求用户一定要进行数据的大规模整合,既降低了用户的使用成本,又发挥了多数据关联分析的价值。


一、文本数据源加载与存储语句格式


FEA支持对CSV、EXCEL、PKL等数据文件进行分析处理,可以把每一项数据记录加载到FEA引擎中。同时,也可以将FEA引擎中的数据输出为CSV、EXCEL、PKL等数据文件。那么,加载与存储FEA语句的格式是什么呢?见下图:



二、文本数据源加载详解


以下是FEA 文本格式加载原语的示例,见下图:



在加载LOG/CSV等文件格式时,经常会加入参数sep=”$”,encoding=‘utf8’,header=-1


那么,这些参数到底表示什么意义呢?


听我娓娓道来。


1、encoding参数


一般来讲Windows操作系统的文件默认编码方式为gbk,而Linux操作系统的文件默认编码方式为utf8,FEA分析工具在读取用户上传的数据文件时默认的解码方式是gbk。用户上传编码方式为utf8的数据文件后,FEA分析工具在对该数据文件进行加载时,原语必须加上with (encoding=‘utf8’)子句,以方便FEA用uft8进行文件解码。


2、sep参数


FEA分析工具加载csv文件时,默认的分隔符为","(即 with (sep=','))。如果用户在加载csv文件时以’|’为分隔符,那么就是sep='|'。如果加载文本文件整一行,就用文本不存在的特殊字符。


3、 header参数


加载csv文件时,默认为header=0,即csv文件内容的第一行为列名;如果CSV文件第一行不是列名而是数据,这时可以设置为header=-1,此时生成的DF表将从0开始按顺序生成列名。


三、文本数据源存储详解


以下是FEA 文本格式存储原语的示例,见下图:



在你存储完结果数据并下载查看时,你经常会发现文件会多出index列,那么我们怎么去除这一列呢?


技巧在Index参数这里,格式如下:


index=True 或者index=False


其中,默认设置为True,如果不想带index可设置为False。


注意index参数,只在store命令中生效。


四、其他


随着FEA的发展,对文件编码的识别将变的自动化,将来encoding参数会使用的比较少。如果你一定要强制设置文件编码格式,需要将encoding参数放置在最前面。


请同学们赶紧按照本武功心法,回家练习基础功,等你练到第三层,我们就可以出师征战大数据分析了。下次我们将讲NOSQL数据库的装载,请期待!

往期精彩文章:


FEA从入门到精通系列 | 基础原语分类

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台