内容简介:欢迎关注公众号 数据分析指北数据分析指北 - KNIME 模块(Data Access类型模块之一IO模块集合)
> 之前休假了, 嗯, 我们继续
欢迎关注公众号 数据分析指北
数据分析指北 - KNIME 模块(Data Access类型模块之一IO模块集合)
Photo by Samuel Zeller on Unsplash
微信公众号:数据分析指北
-
Data Access类型模块
-
IO模块集合简述
-
Read部分
-
Other部分
-
File Handling部分
上一节我们讲了 KNIME 模块的一些基础知识,包括模块的图示、颜色类别、端口类别、workflow 、怎样提高 workflow 的可读性以及 metanode 和 flow variable 的概念。这些基础知识都是非常重要的部分,其中绝大部分内容通过长时间的使用 KNIME 都可以掌握,只有“怎样提高 workflow 的可读性”和“ metanode 的使用”需要刻意练习才能掌握,而这两部分内容,也是 KNIME 水平从中阶到高阶的必经之路。
KNIME 的 Node Repository
在 KNIME 的 Node Repository 中有很多模块,如果装了一些扩展的话,模块会更加丰富。我们在这里将这些节点类型统一组织成了Data Access类型、Transformation类型、Analysis & Data Mining类型、Visualization类型以及Deployment类型,这样在逻辑上将会更加清晰,也符合一般的数据分析的大致步骤。我们先看Data Access类型模块。
Data Access类型模块
Data Access类型模块主要有文件相关模块、数据库相关模块、以及网页相关模块。其中文件相关模块中的CSV模块以及数据库,我们已经在 基础(基础数据操作之二,读取数据源) 中有简要提及。初次之外,KNIME 的 Node Repository中的IO模块集合、Database模块集合、Tools & Services模块集合,都可以部分归类到Data Access类型中来。
IO模块集合简述
Node Repository中的IO模块集合
IO模块在整体上分为Read、Write、Other、File Handling以及Cache几个部分,其中的Write部分,我们不认为它算是Data Access类型模块,而认为它是Deployment类型模块,略去不讲。
Read部分
对于Read部分,主要涉及到各种实体文件的读取。
IO模块集合中的Read部分
[重点::sparkles::sparkles::sparkles:;难度::sparkles:]对于Excel文件来说,如果你已经确定要读取Excel文件的哪个表,那么我们就可以直接使用Excel Reader(XLS),直接在节点中配置读取,其配置选择其实和CSV reader的配置差不太多,除了一些标准的配置之外–比如Column Name都从哪里取、Row Id要不要自动生成,其他选项都集中在配置对于异常情况的处理;如果你需要将Excel中所有的表的内容都读取出来,那么你可以尝试先使用Read Excel Sheet Names (XLS)节点,读出这些表的名字,然后再设置一个循环,使用Excel Reader(XLS)将每个表中的内容读取出来,可参考下图结构。
读取Excel文件中的所有内容
[重点::sparkles::sparkles::sparkles:;难度::sparkles:]CSV Reader之前有提及,在这里略去不讲。
File Reader其实是一个通用版的文件读取工具,甚至可以用它来读取CSV文件,只不过配置项要更多一些。
ARFF reader是机器学习中的一种特定文件格式,这个格式主要是随着 Weka 发展出来的,简要来说,就是它除了记录具体的数据之外,还详细记录了数据的格式、来源等一系列信息,对于经典的Iris数据来说,ARFF就是这样记录的,一望即知:
% 1. Title: Iris Plants Database % % 2. Sources: % (a) Creator: R.A. Fisher % (b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov) % (c) Date: July, 1988 % @RELATION iris @ATTRIBUTE sepallength NUMERIC @ATTRIBUTE sepalwidth NUMERIC @ATTRIBUTE petallength NUMERIC @ATTRIBUTE petalwidth NUMERIC @ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica} % The Data of the ARFF file looks like the following: @DATA 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa ..............
Line Reader是用来将文件一行一行读出来的模块,特别像 Python 中的 readlines()
函数。
[重点::sparkles:;难度::sparkles:]Table Reader这个模块是用来读取KNIME自定义的Table格式的(文件名以 .table为后缀
),是读取KNIME的Table Writer模块输出的文件的。这个文件和ARFF文件的目的相同,就是在这个文件中,尽量的包含和这个数据文件相关的其他元信息(meta information),比如标记出的数据颜色信息(参见 泰坦尼克沉船数据分析之一) 中对数据进行颜色标记的示范)等等,以及对数据文件进行压缩优化,以提升读取效率。因为是 KNIME 自己的格式,如何读写已经做了约定,所以基本不需要做什么配置就可以使用,但唯一考虑的一点就是,如果要迁移到KNIME以外的平台使用,可能会遇到一些麻烦。
PMML Reader是用来读取PMML(Predictive Model Markup Language预测模型标记语言)文件的,这种文件主要是用来记录一些机器学习中的模型以及模型参数的。
[重点::sparkles::sparkles:;难度::sparkles:]List Files作用是列出所给路径下有哪些文件。比如需要读取一个文件夹下所有的Excel文件,那么就需要用到这个模块了。
另外的几个模块用的非常少,就略过不谈了。
总的来说,Read部分,需要重点掌握CSV文件以及Excel文件的读取模块。除了上面列出的模块,如果想要读取Google Sheets,也是可以的,只不过要安装相应的扩展,以及搭建相应的梯子。
Other部分
IO模块集合中的Other部分
Table Creator其实相当于一个小型的Excel,打开之后直接编造数据,但其实用到的地方不多,能用它的地方,大部分情况下可以使用Excel代替。
Data Generator模块可以按照要求生成一些随机数据。
[重点::sparkles:;难度::sparkles:]Create Table Structure可以生成一个没有数据的表结构,主要是配合KNIME的自动生成报告功能使用的,简单举例来说,就是可以初始化生成一个最终报告要求的,有着XX列、YY列、ZZ列的空表,而在workflow的其他部分,只生成了一个具有YY列、ZZ列的表,那么就可以将这个表追加到之前的空表中,进而嵌入到最终的报告中。
Create Temp Dir可以用来生成临时目录,和 Linux 系统编程中的 mktemp
的功能类似,在某些特定情况下会使用到,比如我们想要临时生成一个 sqlite 文件进行读写,但又不想永久保存这个文件,那么就可以使用这个模块来建立一个临时目录存放这个sqlite文件。
Extract System Properties和Extract Context Properties就是获取一些系统信息,以及一些当前workflow的信息了,应用的地方也比较有限,但它们却又是 KNIME 模块完整性的一部分。
File Handling部分
IO模块集合中的File Handling部分
Binary Objects类的模块主要是配合数据库使用的,比如我们通过数据生成图片,然后把图片转换成Binary Objects,再将Binary Objects存放在数据库中。
[重点::sparkles::sparkles:;难度::sparkles:]Remote中的一些模块,主要是用来和远程服务器进行交互的,不管那个服务器是ftp、http,还是只开放了ssh的相应端口,我们都可以对远程服务器上的文件进行下载、分析处理、上传操作。下面是一个http connection模块的局部例子。
http connection的局部例子
[重点::sparkles::sparkles:;难度::sparkles:]Create Directory, Delete Files, Download, Download/Upload from List, List Remote Files, Upload这几个模块的名字含义比较明确了,不再赘述。
[重点::sparkles::sparkles::sparkles:;难度::sparkles:]URI类的模块。URI是uniform resource identifier,统一资源标识符的缩写。我们常说的某某网站地址,或是某某网站中的某一个图片地址,称为URL,是(uniform resource locator)统一资源定位器的缩写。URL是URI的子集,URI是一个更通用的概念,比如在Windows中, file:///c:/WINDOWS/clock.avi
就是一个URI,它定位了 clock.avi
这个视频文件(资源)如何去访问。URI这几个模块,在我们需要操作资源的各种路径的时候,就会需要它们。
ZIP相关模块,一般是配合多个压缩文件使用的。比如在一大堆的压缩文件中,我们可能需要按顺序解压压缩文件,然后再分析处理解压缩之后的文件,在这种时候,我们就需要ZIP这个模块了。需要注意的是,ZIP相关的这两个模块,支持众多的开源压缩方法,比如tar.gz, zip等,但是对于闭源的rar压缩包,它们是不支持的。
COPY/MOVE Files模块,复制、移动模块再不赘述。
File Meta Info模块,可以列出相应文件是否存在、大小、权限等相关内容。
Find MIME-Type模块以及List MIME-Types模块,主要是配合HTTP使用的,一般在upload时,需要在http request中写上mime type信息。
回头聊
反馈,转发或赞赏?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 数据分析指北之 KNIME 模块:Data Access 类型模块之二 Database 模块集合
- 数据分析是什么,如何完善数据分析知识体系
- 大数据分析工程师入门(二十):数据分析方法
- 蚂蚁数据分析平台的演进及数据分析方法的应用
- 数据分析的准备工作:从问题分析到数据清洗
- 数据分析:基于智能标签,精准管理数据
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Servlet和JSP学习指南
Budi Kurniawan / 崔毅、俞哲皆、俞黎敏 / 机械工业出版社华章公司 / 2013-4-14 / 59.00元
本书是系统学习Servlet和JSP的必读之作。由全球知名的Java技术专家(《How Tomcat Works》作者)亲自执笔,不仅全面解读Servlet 和JSP 的最新技术,重点阐述Java Web开发的重要编程概念和设计模型,而且包含大量可操作性极强的案例。 本书共18章:第1章介绍Servlet API和几个简单的Servlet;第2章讨论Session追踪,以及保持状态的4种技术......一起来看看 《Servlet和JSP学习指南》 这本书的介绍吧!