SPSS配置数据源Word文档下载推荐.docx
《SPSS配置数据源Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SPSS配置数据源Word文档下载推荐.docx(28页珍藏版)》请在冰点文库上搜索。
∙指定数据源名称。
∙对于IP地址,请指定DB2RDBMS所在服务器的主机名。
∙使用默认的TCP端口(50000)。
∙指定要连接的数据库的名称。
之后即可在SPSSModeler中使用创建好的数据源。
图4.配置DSN
请注意,在创建SQLServerDSN时,如图所示EnableQuotedIdentifiers前的选择框须被选中,否则SPSSModeler在运行时会报错。
图5.SQLServer高级配置
Linux/Unix平台数据库驱动安装与数据源配置
IBMSPSSDataAccessPack同时也发布了多种Linux/Unix平台版本,如
Solaris(SPARC)、AIX、HPUX(IPF)、Linux(x32)、Linux(x64)、zLinux等。
我们以AIX为例来进行演示,其余平台类似。
新建一个目录,如/usr/SDAP6.0.3.4,将odbc64v60_aix_SP3.tar.z拷贝至此目录下,执行解压命令:
gunzipodbc64v60_linuxx64_SP3.tar.z
得到odbc64v60_aix_SP3.tar,再运行tar解压命令
tar–xvfodbc64v60_aix_SP3.tar
得到解压后的SDAP文件。
首先运行setodbcpath.sh进行自动设置,
然后通过VI程序对odbc.ini进行编辑,请注意粗体部分:
清单1.ODBC配置
<
!
--Pleaselimitcodelinesto90charactersmax.-->
<
--Thefollowinglineisthemaxlength:
-->
[ODBCDataSources]
DB2WireProtocol=SPSSInc.6.0DB2WireProtocol
…(注:
此处省略若干行)
[DB2WireProtocol]
#Collectionappliestoz/OSandiSeriesonly
Collection=
ConnectionReset=0
ConnectionRetryCount=0
ConnectionRetryDelay=3
CurrentFuncPath=
#DatabaseappliestoDB2UDBonly
Database=TEST
DefaultIsolationLevel=1
DynamicSections=200
EnableBulkLoad=0
EncryptionMethod=0
FailoverGranularity=0
FailoverMode=0
FailoverPreconnect=0
GrantAuthid=PUBLIC
GrantExecute=1
GSSClient=native
HostNameInCertificate=
IpAddress=192.168.1.123
KeyPassword=
KeyStore=
KeyStorePassword=
LoadBalanceTimeout=0
LoadBalancing=0
#Locationappliestoz/OSandiSeriesonly
Location=
LogonID=
MaxPoolSize=100
MinPoolSize=0
Password=
PackageCollection=NULLID
PackageNamePrefix=DD
PackageOwner=
Pooling=0
ProgramID=
QueryTimeout=0
ReportCodePageConversionErrors=0
TcpPort=50000
TrustStore=
TrustStorePassword=
UseCurrentSchema=1
ValidateServerCertificate=1
WithHold=1
XMLDescribeType=-10
在[ODBCDataSources]节下的’DB2WireProtocol’即为DSN名称,我们可以修改成自定义名称如’DB2’,但是必需注意的是如若改名,后边的[DB2WireProtocol]节需要修改成相应的自定义名称,即[DB2],其余保持不变。
修改后文件将如下:
单2.DB2ODBC配置
DB2=SPSSInc.6.0DB2WireProtocol
[DB2]
#Collectionappliestoz/OSandiSeriesonly
Database=TEST
至此SDAP配置完成,但Linux/UNIX平台上的SPSSModelerServer还需要一个步骤才能调用到SDAP数据源,即在modelersrv.sh脚本中添加SDAP的odbc.sh路径,如下:
./usr/SDAP6.0.3.4/odbc.sh
注意在“.”后有一个空格。
重启SPSSModelerServer后即可使用配置好的SDAP数据源。
对于某些特殊的数据库(如:
Teradata,Netezza,Sybase)我们需要数据库提供商发布的ODBC驱动,并且按照他们的说明进行安装配置。
建立数据库连接
之前的章节中,我们主要讲述了如何在操作系统中配置ODBC。
下面我们将展示如何在SPSSModeler中如何将数据导入SPSSModeler及如何将数据导出到目标数据库。
首先为大家展示的是,如何在SPSSModeler中选择创建好的数据源并连接到目标数据库。
在SPSSModeler中,点击工具菜单中的数据库菜单项,数据库连接对话框将被打开。
在数据库连接对话框中,服务器部分显示了当前连接的ModelerServer的地址。
数据源列表则列举了ModelerServer上所有可用的数据源。
用户可以点击刷新按钮刷新数据源列表。
在此,用户需要选择目标数据源,并输入用户名和密码。
当用户点击连接按钮时,SPSSModeler将使用用户输入的用户名和密码连接目标数据源。
当连接成功建立后,在该对话框的连接列表里将显示所有已经建立连接的数据源。
图6.数据库连接对话框
使用数据库导出节点操作数据
SPSSModeler提供了一系列的节点为用户提供了将数据或执行结果写入特定文件或数据库的功能。
其中,数据库导出节点提供了将执行结果写入遵循ODBC标准的数据库的功能。
当然,使用该节点时目标数据库必须存在并且当前连接用户必须拥有足够的权限。
数据库导出节点为用户提供三种导出模式,用户可以根据自己的需要定制相应的数据库操作。
这三种模式分别是:
创建表模式,插入表中模式和合并表格模式。
考虑到读者可能会没有合适的数据用来做练习,本文将会先把源数据通过SPSSModeler导出至数据库,而不是从使用数据库中已有的数据建模开始。
然后将使用数据库源节点从数据库读入数据并替换示例流中现有源节点进行建模,最后将建模后的评分结果导出并合并至数据库中存储。
本示例使用了名为modelingintro.str的流,数据文件是tree_credit.sav。
(与示例一起使用的数据文件和样本流安装在产品安装目录下的Demos文件夹中。
)此数据流用来预测客户是否会拖欠贷款,以此来帮助决定是否发放贷款给此客户。
有关此数据流的详细讲解请参考数据挖掘产品IBMSPSSModeler新手使用入门。
首先打开流,此时假设数据库内没有我们建模所需要的数据,我们需要在类型节点后面连接一个数据库导出节点,如下图
图7.流modelingintro.str
双击数据库导出节点打开其编辑对话框,这时我们可以选择在数据库连接对话框里建立的数据库连接,或者直接在这里调出数据库连接对话框连接新的数据库,方法为:
在数据源栏下拉框选择添加新数据库连接,将调出数据库连接对话框,剩下的操作与前面相同。
连接成功后可在下方列表里看到已连接成功的数据源,选中它并点击确定,即可在数据库导出节点中对此数据源中的数据进行操作。
图8.数据库导出编辑对话框——数据源
创建表模式
选中此模式时SPSSModeler将创建一个新的数据库表或覆盖现有的数据库表。
在使用创建表模式时,用户须要在表名称一栏添写将要创建的新数据库表的名称。
此时若选中选项放弃现有表,则可在创建新表时删除所有名称相同的现有表,然后创建同名的新表。
若没有选中该选项,并且数据库中已经存在同名表时,SPSSModeler会在执行时报告有同名表存在并终止运行。
图9.数据库导出编辑对话框——创建表模式
当选择创建表模式时,除了使用默认设置外,用户还可以利用数据库导出“计划”对话框,设置字段的SQL数据类型,指定主要关键字字段,自定义CREATETABLE语句。
该对话框由几个部分组成:
InfoSphereWarehouse选项部分包含导出到InfoSphereWarehouse数据库(IBMDB29.7或更高版本)的选项。
如果没有连接到类似数据库,则不会显示此部分。
中间的文本字段显示用于生成CREATETABLE命令的模板,该字段的默认格式:
CREATETABLE<
table-name>
(tablecolumns)>
下方的表格用于指定每个字段的SQL数据类型,并指明如下所述的哪些字段为主要关键字。
该对话框将根据表中的设定自动生成table-name和tablecolumns参数的值,此处我们不做演示,请点击取消放弃保存设置。
图10.计划对话框
使用“索引”对话框,可创建数据库表索引,指定要包含的字段集合并根据需要自定义CREATEINDEX命令。
该对话框由两部分组成,上方的文本字段显示可用于生成一个或多个CREATEINDEX命令的模板,该字段的默认格式为:
CREATEINDEX<
index-name>
ON<
对话框下方的表用于指定要创建的各个索引。
可指定每个索引的名称以及要包含的字段或列。
对话框将依次自动生成index-name和table-name参数的值。
例如,可以为字段Age和Incomelevel生成如下所示的单索引SQL语句
CREATEINDEXMYTABLE_IDX1ONMYTABLE("
Age"
"
Incomelevel"
)
可以添加多行创建多索引。
每一行将单独生成一个CREATEINDEX命令。
比如下图我们为字段Age生成索引,确定保存后运行流。
此外还可以为所有索引或仅为特定索引自定义CREATEINDEX命令。
通过此选项可以灵活地调整设置,以兼容特定数据库要求或选项,还可以根据需要对所有索引或仅对特定的单个索引进行自定义。
选择对话框上方的自定义CREATEINDEX命令选项,可修改所有后续添加的索引使用的模板。
请注意,系统不会自动对已添加到表中的索引应用更改。
图11.索引对话框
插入表中模式
选中此模式可将数据作为新行插入现有的数据库表中。
当使用此模式时,用户需要选择一个已存在的表或直接输入一个已存在表的名称。
若用户输入的表名不存在,则SPSSModeler会在执行过程中报错并停止执行。
当使用此模式时,用户可以通过选中“删除现有行”将所选表中的所有行全部删除,然后将新数据插入表中。
若该选项没有选中,则新生成的数据会被直接插入表中,不会对原有数据造成影响。
图12.数据库导出编辑对话框——插入表中模式
合并表格
选择此模式以使用相应源数据字段中的值更新所选数据库列。
图13.数据库导出编辑对话框——合并表格模式
选中该选项后,合并按钮将被激活。
点击合并按钮,打开“将数据合并到数据库”对话框。
此处,用户可以将源数据字段映射到目标数据库表中的列,并选择可能的关键字。
在运行流时,根据用户选择的关键字以及字段和数据库列的对应关系,映射的数据库字段值将被替换为源数据值,而未映射的字段在数据库中保持不变。
例如我们运行数据流modelingintro.str里的CHAID模型节点生成一个模型块,连接模型块与数据导出节点
图14.将数据合并到数据库对话框流
我们已经知道在模型节点中会新生成两个预测字段:
$R-Creditrating和$RC-Creditrating。
如果我们希望只更新这两列数据进入数据库,而不改动数据库中表tree_credit已有的数据,那么就可以使用合并功能。
很明显这种方式比起重新将所有数据写入数据库中会节省很多时间。
图15.将数据合并到数据库对话框
另外还有将记录添加到数据库选项,可以用来将数据集里新添加的数据插入到数据库表中而不改变数据库中原有数据,这里不再演示
批量导出
数据库导出高级选项对话框里有一项设置可以在数据量大的时候显著提高性能。
选择使用批量载入-通过ODBC项可使用ODBCAPI执行多行插入,比正常导出到数据库的速度更快。
在选中通过ODBC时可以选择ODBC高级选项:
行为主-选择逐行绑定,可使用SQLBulkOperations调用将数据载入数据库。
通常,与逐条插入数据的参数化插入相比,逐行绑定的速度更快。
列为主-选中此项可使用逐列绑定将数据载入数据库。
逐列绑定可通过为每列数据库(位于参数化INSERT语句中)绑定一组N值提高处理速度。
每次执行INSERT语句时都会在数据库中插入N行。
此方法可以大大提高处理速度。
图16.批量导出选项
生成SQL语句及执行结果
在执行SPSSModeler数据流的时候,可以在流属性消息页面看到流执行完成。
可以通过在数据流上点击右键选择流属性打开该页面。
图17.流执行消息
如上图所示,如果没有进行特殊设置,则消息相当简单且没有相关SQL的消息,我们可以通过设置SPSSModeler的相关选项,从而使用户能够看到SPSSModeler生成的SQL,以及每条SQL的执行结果。
从主菜单工具-选项-用户选项,选择执行流期间在消息日志中显示SQL与流准备期间在消息日志中显示关于SQL生成的详细信息。
图18.SQL相关的用户选项
设置该选项后,再次运行流即可看到更为详细的SQL消息。
如下图,此为执行将数据合并到数据库时所报告消息。
图19.详细流执行消息
使用数据库源节点导入数据
SPSSModeler的源节点提供了将存储在各种文件或数据库中的数据导入SPSSModeler的功能。
用户可以在源节点后添加其他节点对导入的数据进行进一步处理,或使用导入的数据进行建模工作。
在所有的源节点中,数据库源节点提供了将数据从各种遵循ODBC标准的数据库中导入到SPSSModeler的功能。
数据库源节点为用户提供了两种使用模式:
表模式和SQL查询模式。
表模式
如其名所示,表模式为用户提供了将单张数据库表或视图中的数据整体导入SPSSModeler的功能,使用此种模式时,用户只需选择需要导入的表或视图即可。
下面是使用该模式的一个简单示例
图20.数据库导入节点示例
双击数据库导入节点,将打开编辑对话框后在数据源栏下拉框,选择在前面的演示中已经成功连接的数据源并点击确定,即可以使用数据库导入节点将此数据源中的数据导入SPSSModeler。
在选择好数据源之后,用户要需要填写表名称。
图21.数据库导入节点编辑对话框
在此,用户可以点击选择按钮,选择表/视图对话框将被打开。
用户可以再次浏览该数据源中的表和视图并进行选择,选择的表明将被显示在表名称栏。
用户也可以直接编辑该栏,填入目标表或视图的名称即可。
运行表节点即可将目标表中的数据导入SPSSModeler并显示在输出表中。
我们可以从图中看到CHAID模型新产生的两列数据$R-Creditrating和$RC-Creditrating。
图22.选择数据库表或视图
图23.数据库导入结果
表模式简单易用但是提供的功能也相对比较单一,如果用户需要剔除表中的某些字段或需要导入多个表或视图关联的数据,则这种模式无法满足用户的需求。
在这种状况下用户可以选择使用SQL查询模式
SQL查询模式
当选择SQL查询模式时,用户将看到一个查询编辑器窗口。
在查询编辑器中创建或载入SQL查询,则该查询的结果集合将被导入到数据流中。
比如下面示例中,可以通过编写SQL查询语句,只导入Age,Incominglevel和新产生的两列,如图所示。
图24.数据库导入节点查询编辑器
图25.数据库导入SQL查询结果
其实在这里不仅仅可以输入查询语句,用户甚至可以把它当作一个简单的SQL客户端来使用。
小结
本文从IBMSPSSModeler所需数据库驱动程序及配置开始,通过介绍常用数据库节点的操作,使读者初步了解SPSSModeler基本的数据库集成功能,下一部分将介绍数据库内建模。