您是否知道您能通过分析社交数据了解很多信息,但由于您没有足够的时间或资源来构建所需的工具,所以没有行动?在本教程中,我们将展示如何轻松地使用 IBM Bluemix™ 中的 Node-RED 工作流编辑器捕获社交数据提要(一个 Twitter 提要),然后从该数据构建一个 Hadoop Distributed File System (HDFS) 文件。我们还将展示如何使用 IBM Analytics for Hadoop 服务来分析数据和生成摘要图表。您会对将未知数据集转换为可用信息的轻松程度感到惊讶。
“您会对将未知数据集转换为可用信息的轻松程度感到惊讶。”
构建您的应用程序需要做的准备工作 第 1 步:设置 Bluemix 服务要实现提取、转换和加载 (ETL) 工作流,需要使用 Bluemix 中的 Node-RED 功能。要开发该工作流,首先需要创建一个 Node-RED 应用程序,并向其添加 IBM Analytics for Hadoop 服务。
- 单击 Catalog。
- 搜索并选择 Node-RED Starter。
 - 在右侧的 Name 字段中输入应用程序的示例名称(它还会出现在 Host 字段中),然后单击 CREATE。等待您的 Node-RED 应用程序启动。在使用该应用程序之前,还需要向它添加 IBM Analytics for Hadoop 服务。
- 在左侧,单击 Back to Dashboard,然后单击您创建的 Node-RED 应用程序。
- 单击 Add a Service or API。
- 在左侧的 Category 下,选择 Big Data。然后在右侧,选择 IBM Analytics for Hadoop。
- 在右侧,单击 App,然后选择您的 Node-RED 应用程序。
 - 单击 CREATE,在系统提示时单击 RESTAGE。等待应用程序重新启动并运行。
- 在顶部的 Routes 旁边,单击您的 Node-RED 应用程序的名称,比如 sampleName.mybluemix.net(其中 sampleName 是您使用的名称),在一个新浏览器窗口中打开您的 Node-RED 应用程序。

- 单击标有 Go to your Node-RED flow editor 的大按钮。
 第 2 步. 在 Node-RED 最终构建 ETL 工作流接下来,您将使用 Node-RED 工作流编辑器来构建 ETL。该工作流从 Twitter 获取推文,并动态地构建一个 Hadoop Distributed File System (HDFS) 文件。您将在下一步中使用此文件来分析这些推文。Node-RED 工作流编辑器中完成的工作流看起来与这个工作流类似:
 - 滚动面板,在 social 下,将一个 Twitter 输入节点拖到画布上。
 - 双击 Twitter 节点来配置它:
- 在 Log in as 下拉列表中,选择 Add new twitter-credentials,然后单击铅笔图标。单击该按钮以向 Twitter 进行身份验证。输入您的 Twitter 凭据,然后单击 Authorize App,然后关闭该窗口。
- 确认您的 Twitter ID 已显示,单击 Add。
- 在 for 文本字段中,输入 cloud。
- 在 Name 字段中,输入 cloud tweets,然后单击 Ok。
 - 滚动面板,在 storage 下,选择第二个 ibm hdfs 节点(写入)并将它拖到画布上。
- 使用鼠标,将 Twitter 节点连接到 hdfs 节点。
 - 双击 ibm hdfs 节点来配置它:
- 在 Filename 字段中,为您应用程序动态创建的文件输入一个名称(例如 sampleTwitterData/stream)。此文件包含与您的条件匹配的推文。
- 单击 Ok。
- 在 Node-RED 工作流编辑器的右上角,单击 Deploy。
- 关闭浏览器窗口。
您的服务现在正在运行。Twitter 数据正被收集并写入该文件中。该文件存在于 Hadoop (BigInsights) 服务的 HDFS 中,而且可能增长到 20 GB,这是免费 BigInsights 服务的 HDFS 的存储极限。
因为 HDFS 支持线性横向扩展,所以惟一限制该文件大小的是您的预算。您可以选择一个更高级的计划来获取更多存储空间。已知最大的 HDFS 是 Yahoo,它运行着 455 PB 的数据,您可以看到,Hadoop 可以真正地进行扩展。Bluemix 中的高级 Hadoop 集群在 SoftLayer 中的裸机硬件上运行。最小为 18 TB,但是,如果需要的话,可以扩展到几 PB。 |