你好,游客 登录
背景:
阅读新闻

面向大数据处理的集成简介

[日期:2014-09-25] 来源:IBM  作者:徐 颖, 杨 晓玲 [字体: ]

IBM SPSS Analytic Server 在 IBM SPSS Modeler 的集成配置和安全连接

上节我们详细介绍了 Analytic Server 的安装,并且实现了和 hadoop Server 的连接配置。那么,如何实现 Analytic Server 和 Modeler 的集成呢?又如何保证他们之间的通信安全呢?本节将简单介绍 Analytic Server 和 Modeler 之间的基本集成配置以及如何进一步实现两者之间的安全连接。

IBM SPSS Analytic Server 与 IBM SPSS Modeler 的集成配置

要实现 Analytic Server 和 Modeler 的集成配置,只要遵循以下步骤即可:

  1. 安装 Modeler Client 和 Modeler Server
  2. 在 Modeler Client 上再安装 ModelerAE 扩展包
  3. 打开<Modeler Server 安装路径>/config 文件夹
  4. 修改 options.cfg 文件权限为可写
  5. 添加以下内容到 options.cfg 文件:
    as_url, http://<Analytic Server IP>:<Analytic Server Port>/ibm
    as_prompt_for_password, Y

    这里,ibm 是一个缺省的租户名称,您也可以通过 Analytic Server 控制台创建自己的租户名称。Analytic Server 控制台可以通过如下 URL 方式以上述定义的 Analytic Server“超级用户”身份登录:

    http://<Analytic Server IP>:<Analytic Server Port>

    另外,我们通常设置密码弹出为 Y,表明连接 Analytic Server 时会弹出窗口要求输入登录用户名和密码。您也可以设置密码弹出为 N,但前提条件是登录 Analytic Server 的用户必须和登录 Modeler Server 的用户一致,也就说如果设置不弹出窗口要求输入登录用户和密码,系统将默认 Analytic Server 登录信息和 Modeler Server 一致从而尝试用 Modeler Server 的登录信息去登录 Analytic Server,如果两个用户不一致,系统将会报错。

  6. 保存 options.cfg 文件
  7. 重启 Modeler Server

然后我们可以发现,Analytic Server 源节点出现在 Modeler Client 的源节点板里,同时 Analytic Server 导出节点出现在 Modeler Client 的导出节点板里。这样,Analytic Server 就实现了和 Modeler 的基本集成。

IBM SPSS Analytic Server 与 IBM SPSS Modeler 之间的安全连接

如前所述,Analytic Server 是大型数据分析的解决方案,如何保证大型数据的安全性就显得尤为重要。本小节我们将详细介绍如何设置 Analytic Server 以支持安全连接方式,并进一步描述如何将创建的 SSL 证书文件导入 Modeler Client 和 Modeler Server,从而实现 Modeler 和 Analytic Server 之间的安全连接。

设置 Analytic Server 以支持安全连接方式

步骤一、创建 SSL 证书

WebSphere 提供了一个安全的公用程序可以用来创建自定义的 SSL 证书:

  1. 在安装了 Analytic Server 的服务器上,打开 <AS_Root>/ae_wlpserver/bin 文件夹
  2. 运行以下命令:
    securityUtility createSSLCertificate --server=aeserver --password=Pass1234

    您可以看到如下输出:

    Creating keystore <AS Install>\ae_wlpserver\usr\servers\aeserver\resources\security\key.jks 
    Created SSL certificate for server aeserver 
    Add the following lines to the server.xml to enable SSL: 
     <featureManager>
     <feature>ssl-1.0</feature>
     </featureManager>
    <keyStore id="defaultKeyStore" password="{xor}Dz4sLG5tbGs=" />

步骤二、根据 sercurityUtility 提供的信息更新 server.xml 文件

  1. 打开 < AS_Root>/ae_wlpserver/usr/servers/aeserver/server.xml
  2. 在 feature manager 里面添加 feature ssl-1.0:
    <featureManager>
     <feature>ssl-1.0</feature>
    </featureManager>
  3. 在 server.xml 里面添加 keyStore 声明:
    <keyStore id="defaultKeyStore" password="{xor}Dz4sLG5tbGs=" />
  4. 更新 httpEndpoint 以使用所需安全连接端口号 httpsPort(默认端口号为 8443):
    <httpEndpoint host="*" id="ae_server" httpPort="8080" httpsPort="8443"/>

配置 Modeler 以在 Analytic Server 上使用自定义的 SSL 证书

要想通过安全连接方式运行 Analytic Server,Modeler 必须能够识别在 Analytic Server 上的自定义 SSL 证书。我们可以遵循以下步骤来配置:

步骤一、从远程服务器上下载自定义的 SSL 证书

自定义 SSL 证书可以在您登录 SSL 服务器后通过网页导出:

  1. 用 URL 方式登录 Analytic Server,例如:
    https://svs3aeqa05.spss.com:8443/admin
  2. 接受服务器上的 SSL 证书:

    如果您是第一次以 URL 方式登录 Analytic Server,浏览器将会将此链接识别为“Untrusted”,如图 6 所示。

    图 6. 首次以 URL 方式登录 Analytic Server
    图 6. 首次以 URL 方式登录 Analytic Server

    点击“Add Exception”按钮将该链接加入信任列表,并点击“Confirm Security Exception”按钮导入 SSL 证书,如图 7 所示。

    图 7. 将 Analytic Server URL 加入信任列表
    图 7. 将 Analytic Server URL 加入信任列表
  3. 打开浏览器,这里以火狐为例,选择“Advanced”选项并移到“Encryption”选项卡,点击“View Certificates”,如图 8 所示。
    图 8. 浏览证书文件
    图 8. 浏览证书文件
  4. 找到证书文件并点击“Export”,如图 9 所示。
    图 9. 导入证书文件
    图 9. 导入证书文件
  5. 选择文件名和文件夹保存您的 SSL 证书文件,如图 10 所示。
    图 10. 保存证书文件
    图 10. 保存证书文件

步骤二、把自定义的 SSL 证书导入 Modeler 以配置 Modeler 和 Analytic Server 的 SSL 连接

任何 JAVA 客户端想要发送请求到 SSL 服务器都必须要识别服务器上的 SSL 证书,我们可以通过“keytool”命令把证书文件导入到 JVM CACERTS 文件来实现此目的。这里我们当然是要把 SSL 证书文件导入到 Modeler Client 和 Modeler Server 以配置其和 Analytic Server 的 SSL 连接了。

  1. 从 Analytic Server 服务器上下载证书文件,并且添加证书文件到 Modeler Client 和 Modeler Server 安装路径下的 JRE:
     <Modeler Server or Modeler Client installation path>/jre/lib/security/cacerts
  2. 确认 cacerts 文件权限为可写。
  3. 使用 Modeler 程序自带的 keytool 程序运行以下命令:

    点击查看代码清单

  4. 这里,<analytic-server-alias-name> 是 cacerts 文件的别名。您可以使用任何您喜欢的名字,只要对于这个 cacerts 文件来说是唯一的即可。例如:

    .\keytool -import -alias MySSLCertAlias -file C:\Download\as.cer -keystore "c:\Program Files\IBM\SPSS\Modeler\15\jre\lib\security\cacerts"

  5. 输入 keystore 密码 (默认密码为“changeit”),如下所示:

    Enter keystore password:

    一旦密码输入正确,keytool 程序将会输出类似于如下信息:

    Owner: CN=svs3aeqa05.spss.com, OU=aeserver, O=ibm, C=us
    Issuer: CN=svs3aeqa05.spss.com, OU=aeserver, O=ibm, C=us
    Serial number: 514084b6
    Valid from: 3/13/13 8:52 AM until: 3/13/14 8:52 AM
    Certificate fingerprints:
     MD5: 72:5D:B3:F8:DA:EC:5F:3D:C1:30:86:51:00:1D:77:DB
     SHA1: 29:81:14:68:F7:CA:43:FA:6D:7D:80:AF:50:61:65:7D:D6:40:F2:E7
  6. 如果弹出是否信任此证书文件,输入“yes”以确认,如下所示:
    Trust this certificate? [no]: yes
    Certificate was added to keystore
  7. 在 Modeler Server 和 Modeler Client 的配置文件中设置与 Analytic Server 的安全连接,以如上 SSL 服务器为例:
    as_url, https:// svs3aeqa05.spss.com:8443/ibm
    as_prompt_for_password, Y
  8. 重新启动 Modeler Server 和 Modeler Client

这样,Modeler 和 Analytic Server 之间的安全连接就设置好了。您就可以通过 Modeler 安全地访问 Analytic Server 执行您的任务了。

IBM SPSS Modeler 应用 IBM SPSS Analytic Server 处理大数据实例展示

众所周知,Modeler 是一种具有可视化分析方法的数据挖掘工具,而 Analytic Server 是大型数据分析的解决方案,将数据挖掘技术与大型数据技术相结合,可以使 Modeler 用户在熟悉的 Modeler 用户界面上执行针对大数据的数据挖掘任务。本节我们将详细介绍 Modeler 如何从 Hadoop 分布式文件系统(HDFS)上获取数据,如何实现 Modeler 和 Analytic Server 的集成工作,如何使用 Modeler 执行大数据任务,并且以实例展示 Modeler 应用 Analytic Server 处理大数据的数据挖掘任务的优越性。

大数据处理功能概述

如前所述,我们已经实现了 Modeler 和 Analytic Server 的集成,用户可以通过 Modeler 里面的 Analytic Server 源节点和 Analytic Server 导出节点连接 Analytic Server 实现在 Modeler 处理基于大数据的数据挖掘任务。

把非 HDFS 数据写入 HDFS

在实施基于大数据的数据挖掘任务前,我们需要通过 Analytic Server 控制台和 Modeler 的 Analytic Server 导出节点把所需要的数据文件上传到 HDFS 上。首先用 Analytic Server 的用户登录 Analytic Server 控制台,可以如前所述以 URL 方式登录,也可以在 Analytic Server 节点编辑框里面点击“Launch Datasource Editor”按钮登录,如图 11 所示。

图 11. Analytic Server 节点编辑窗口

图 11. Analytic Server 节点编辑窗口

在 Analytic Server 左边的操作界面选择数据源板块,点击添加键添加一个新数据源,指定数据源名称和类型,添加完成后在“File Output”选项里面,设置该文件为可写并且把输出路径指定到某一工程下,如图 12 所示。

图 12. 编辑数据源文件

图 12. 编辑数据源文件

保存设置后打开 Modeler Client,创建一个流文件,如图 13 所示,这里注意所用源节点类型要和您准备上传的数据文件类型匹配。在 Analytic Server 导出节点里面,指定数据源名称为刚刚在 Analytic Server 控制台添加的数据源名称,或者直接点击“选择”按钮选择该文件。如果该数据源已经在 HDFS 里存在,我们还可以指定“覆盖”或者“追加”该文件。同时,我们可以选择是否自动生成一个 Analytic Server 源节点。执行该流文件,数据源就会成功导出到 HDFS 上。接下来,我们就可以使用 Analytic Server 源节点读取 HDFS 数据文件进行进一步的工作。

图 13. Modeler 流文件

图 13. Modeler 流文件

从 HDFS 上读取数据

HDFS 数据源,不管数据是什么格式,普通文件或者数据库表等,均可以通过 Analytic Server 源节点暴露给用户。用户只需要在 Analytic Server 源节点数据源输入框中输入数据名称,或者点击选择按钮在数据源列表里面选择所需要的数据源即可。Analytic Server 源节点编辑窗口如图 14 所示。

图 14. Analytic Server 源节点编辑窗口

图 14. Analytic Server 源节点编辑窗口

Modeler 中的数据处理或者预测分析任务支持混合型 Analytic Server 数据源。用户可以使用一个或多个合并的 HDFS 数据源执行其任务,如图 15 所示。当 Modeler 识别到该流文件包含 HDFS 数据源,就把流文件转换成 ASL(Analytic Streaming Language)提交给 Analytic Server 处理。

图 15. 使用多个 HDFS 数据源

图 15. 使用多个 HDFS 数据源

用户也可以把一个或多个运行在本地文件系统上的数据文件合并到 Analytic Server 数据源上,如图 16 所示。在这种流文件操作中,Modeler 将读取本地文件并且上传到 HDFS 上,合并之后被定义为一个新的 Analytic Server 数据源供 Analytic Server 使用。而 Modeler 将用新创建的 Analytic Server 数据源把流文件转换成 ASL 并提交给 Analytic Server。

图 16. 本地文件与 HDFS 数据源合并

图 16. 本地文件与 HDFS 数据源合并

还支持把一个或多个数据库文件合并到 Analytic Server 数据源上,如图 17 所示。在这种数据源结构中,用户执行流文件,Modeler 提供数据库连接信息给 Analytic Server 或者 Modeler 读取数据库文件并上传到 HDFS 上,从而使 Analytic Server 可以管理该数据库文件,然后定义一个 Analytic Server 数据源供 Analytic Server 使用。Modeler 用新创建的 Analytic Server 数据源把流文件转换成 ASL 并提交给 Analytic Server。Analytic Server 1.0 版本支持如下数据库:

  • Netezza
  • IBM DB2 for z/OS 64bit
  • Teradata Enterprise Data Warehouse
  • Microsoft SQL Server 32bit 和 64bit
  • Oracle Database 32bit 和 64bit
  • IBM DB2 Enterprise (Linux, Unix, Windows) 32bit 和 64bit
图 17. 数据库文件与 HDFS 数据源合并

图 17. 数据库文件与 HDFS 数据源合并

以上后两种数据使用方式也可以先把本地数据或者数据库文件导出到 HDFS 文件系统上,然后通过 Analytic Server 源节点获取数据文件。执行过程如图 18 和图 19 所示。

图 18. 将本地文件导出到 Analytic Server 再与 HDFS 数据源合并

图 18. 将本地文件导出到 Analytic Server 再与 HDFS 数据源合并

图 19. 将数据库文件导出到 Analytic Server 再与 HDFS 数据源合并

图 19. 将数据库文件导出到 Analytic Server 再与 HDFS 数据源合并

在 Hadoop 环境上处理大数据

在 Hadoop 环境上实现大数据的数据操作和预测分析是 Modeler 和 Analytic Server 集成的主要目的。通过与 Analytic Server 集成,使得 Modeler 用户很容易地用熟悉的用户界面解决用 Modeler 自身解决不了的在大数据上的预测分析任务。这部分内容包括从 Hadoop 文件系统上读取数据,对 HDFS 数据进行数据转换及数据清洗、填充等数据处理操作,建立预测分析模型并在新数据上对模型进行评分。本小节我们仅从一个实际的流文件出发,通过以下几个步骤简单说明 Modeler 通过 Analytic Server 实现数据操作和预测分析,而下一节将会具体的给出一些有代表性的实例。

  1. 创建一个流文件,使用 Analytic Server 源节点指向 HDFS 上的数据源文件,如图 20 所示。
    图 20. 使用 Analytic Server 源节点指向 HDFS 上的数据源文件
    图 20. 使用 Analytic Server 源节点指向 HDFS 上的数据源文件
  2. 执行该流文件
  3. Modeler 识别到该流文件包含 HDFS 数据源,就把流文件转换成 ASL 并且提交一个工作给 Analytic Server
  4. Analytic Server 协调工作并执行,然后返回执行结果给 Modeler
  5. Modeler 从 Analytic Server 取得执行结果并展现给用户

IBM SPSS Modeler 15.0 FP2 大数据处理应用实例展示及分析

集成了 Analytic Server 的 Modeler 通过一致化的界面来提供大数据处理能力,但是并非所有的数据操作和分析功能都被迁移到 AS 上解决。其中大部分的记录选项节点,字段选项节点,图形节点和输出节点的默认设置都支持在 Analytic Server 上执行。而对于建模节点,只有 PSM 的 Linear、Neural Net 和 Tree (C&R、Quest and CHAID) 被 Analytic Server 1.0 支持。需要指出的是,所有模型的预测过程由于可以分布式的并行处理,所以都支持在 Analytic Server 上执行。接下来我们将分别从数据操作,统计分析和数据建模三个实例来介绍如何应用 Modeler 处理大数据任务。

数据操作

排序是大数据处理系统一个非常具有代表性的功能,这也是 Google 提出 MapReduce 的初衷。集成 Analytic Server 的 Modeler 中实现数据排序操作可通过图 21 所示的流文件来实现。

图 21. 数据排序操作

图 21. 数据排序操作

对比未集成 Analytic Server 的相同计算可以看出,基于 Analytic Server 的排序操作的优势,是由于其将顺序上邻近的数据通过 key/value 对的方式发送到同一个 reduce 节点上,从而把大数据的排序分解成了若干个数据段的局部排序,极大的提高了排序操作的空间和时间复杂度。

统计分析

这里选用 paired sample t test 来展示集成 Analytic Server 的 Modeler 中在统计分析方法的实现,其操作可通过如图 22 所示的流文件来实现。

图 22. 统计均值计算

图 22. 统计均值计算

对比未集成 Analytic Server 的相同计算可以看出,基于 Analytic Server 的统计分析,将统计量的计算分解到不同的数据块上,并最终进行合并,实现的大数据的分布式并行运算,显著提高了计算性能,将统计分析技术扩展到了大数据领域。

数据建模

这里选用以线性回归为 base model 的 PSM 建模方法来展示集成 Analytic Server 的 Modeler 的大数据建模功能,其操作可通过如图 23 所示的流文件来实现。

图 23. 线性回归建模

图 23. 线性回归建模

对比未集成 Analytic Server 的相同建模过程可以看出,数据建模方法可以通过分布式并行计算来优化其在大数据处理上的性能,使得 Modeler 中的建模技术在大数据背景下为用户带来更大的价值。

结束语

由于大数据处理分析在数据挖掘领域的重要性和市场需求,Modeler 15.0 FP2 通过集成基于 MapReduce 框架的 Analytic Server 提供了面向大数据处理和分析的数据挖掘功能,本文介绍了其新增的功能特点和所需的集成配置,通过应用实例展现了针对大数据的数据操作、统计分析及建模能力,凸显了 Modeler 在数据挖掘领域处理大数据的优越性。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款