社会媒体分析
本教程介绍如何使用 Apache Drill,在原生的 JSON 格式中,分析 Twitter 数据。首先,你使用 Apache 的 Flume 去分割 Twitter 数据中的关键字和语言,然后你使用 Drill 去分析数据。最后,你使用 MicroStrategy 与之进行交互并分析。
社会媒体分析条件
- Twitter 开发者账号
- AWS 账号
- 一个 AWS 上的 MapR 节点
- 一个 MicroStrategy AWS 实例
设置 AWS 环境
在 Amazon Web Services(AWS)上配置环境以下任务:
- 创建一个 Twitter 开发者账号并注册一个 Twitter 应用
- 提供一个预先设定的 AWS MapR 节点,和 Flume 以及 Drill
- 提供一个 MicroStrategy AWS 实例
- 在 MicroStrategy 上配置 Drill,并运行报表和分析
- 创建一个 Twitter 开发者账号和注册一个应用
该教程是在你熟悉 MicroStrategy 的前提下完成的。更多关于它的使用信息,请看MicroStrategy 使用指导
建立一个 Twitter 和 Flume 的证书
按以下步骤建立一个 Twitter 并获取 Twitter 证书,需要由 Flume 去建立一个 Twitter 作为数据源:
- 去
dev.twitter.com
注册一个你自己的 Twitter 账号。 - 点击
Manage Your Apps
在页面底部的工具栏。 - 点击
Create New App
并且完善你的表单,然后创建应用。 - 在
Keys and Access Tokens
栏中,创建一个 token,然后点击Create My Access Token
。你可以创建一个只读权限的 token。 - 拷贝以下证书到 Twitter 的 App 中,然后配置 Flume:
- 消费者的 Key
- 消费者的秘钥
- Token
- Token 秘钥
预先在 AWS 上设置一个 MapR 节点
你需要预先在 AWS 上配置一个 MapR 的节点,命名为 ami-4dedc47d。AMI 已经配置了 Flume,Drill,以及特定元素支持的数据流,从 Twitter 和 Drill 的查询视图中。AMI 是一个公开可用社区,它有 6GB 的根目录,以及 100GB 的数据。作为一个小节点,非常大的数据量将大大减少 Twitter 数据查询的响应时间。
- 在 AWS 中,启动一个实例。AMI 镜像是预用 m2.2xlarge 实例类型,以及 4 个虚拟 CPU 和 32G 内存。
- 选择 AMI 的 id ami-4dedc47d。
- 确保你的实例被分配了一个外网 IP,静态 IP 是首选,但不是必需的。
- 确保你的节点上的 TCP 和 UDP 端口可用。
- 在配置和启动实例后,在 AWS EC2 的管理界面重新启动节点来完成配置。
该节点是需要安装 Flume 和 Drill。下一步,更新 Flume 的配置文件所需要的证书和 keywords。
更新 Flume 配置文件
- 使用 AWS 证书用 ec2-user 证书登录。
- 在节点上使用
su - mapr
切换到 mapr 用户。 - 更新 Flume 配置文件
flume-env.sh
和flume.conf
在<FLUME HOME>/conf
目录下,在第一节中使用 Twitter App 证书。实例详情。 - 输入想要的关键字,用逗号分割。用空格分割多个关键字。
- 过滤 Twitter 中特定的语言,如果有必要,输入 ISO 639-1 语言代码去分割并由一个逗号分开。如果你不需要语言过滤,留下一个空白的参数。
- 使用 mapr 用户,在屏幕的终端中,输入命令进入到 FLUME HOME 目录。
- 输入以下命令启动 Flume:
./bin/flume-ng agent --conf ./conf/ -f ./conf/flume.conf -Dflume.root.logger=INFO,console -n TwitterAgent
- 输入
CTRL+a
退出,然后输入d
进行分离。在回到屏幕的终端,简单的在屏幕上输入 -r 进行重现连接。Twitter 的数据流进入到系统中。 - 运行以下命令来验证卷:
du –h /mapr/drill_demo/twitter/feed.
你不能运行查询,指导数据出现在目录中。最小允许时间为 20-30 分钟。
提供一个 MicroStrategy AWS 实例
MicroStrategy 提供了各种期限的实例。它配备的 MicroStrategy 实例是一个免费试用 30 天的实例。AWS 仍然可以应用于平台和操作系统。
在 AWS 上提供 MicroStrategy 节点:
- 在 MicroStrategy website 上,点击 “Get started”。
- 选择用户,例如,选择 25 用户。
- 选择 AWS 区域。推荐在一个 MapR 节点和 MicroStrategy 实例上,使用相同的 AWS 区域。
- 点击 “Continue”。
- 在标签栏中,点击 “Launch with EC2 Console”,之后再选择 “r3.large instance”。
- 点击 “Configure Instance Details” 。
- 选择一个合适的网络进行设置,应用到你的 MapR 节点中。
重要:确保 MicroStrategy 实例有外网 IP;静态 IP 是首选的,但不是必需的。
- 保留自定义存储。
- 分配一个标签来识别实例。
- 选择一个安全组,允许足够的权限去访问外网 IP 和开放所有的端口,因为安全这里并不关心。
- 在 AWS 控制台,启动实例,当 AWS 报告实例正在运行时,选择它,然后点击 “Connect”。
- 点击 “Get Password” 去获取系统的的管理员密码。
实例现在使用 RDP 和使用相关 AWS 的证书和安全。
配置 MicroStrategy
你需要配置 MicroStrategy,使用 ODBC 驱动将其集成到 Drill 中。你要先安装一个 MicroStrategy 包和一些有用的数据,为 Twitter 提前准备报告工作。你可以修改报告或使用报表作为模版来创建新的,和更加有趣的报告和分析模型。
- 使用 ODBC 管理员,配置系统 DSN 名称为
Twitter
。MapR ODBC 驱动快速启动一个版本区要 DSN。 - 下载基于 Drill 的 MapR ODBC 快速启动版本。
- 配置 ODBC 驱动到 MicroStrategy。Drill 是包的一部分,不需要去配置。
- 如果 MapR 节点和 MicroStrategy 实例在相同的区域内,使用 AWS 的内网 IP(推荐)。
- 下载 Drill 和 Twitter 的配置 包,该包是 Windows 系统的,可以使用 Git 命令将其 Clone 下来。
导入报表
- 在 MicroStrategy 中,选择 “Schema > Create New Project ”,去创建一个新的项目工程。
- 点击 “Create Project” 并指明新工程的名称。
- 点击 “OK”。项目出现在 MicroStrategy 开发版本中。
- 打开 MicroStrategy 对象管理。
连接到项目源,并使用管理员身份登录。
- 进入到 MicroStrategy 对象管理的分析模块,选择项目。例如,选择 “Twitter analysis Apache Drill”。
- 选择 “Tools > Import Configuration Package”。
打开配置文件包,并点击 “Proceed”。
该包的报告在 MicroStrategy 是可用的。
你可以在 MicroStrategy 中测试和修改报告。配置权限是必需的。
更新 Schema
- 在 MicroStrategy 中,选择 “Schema > Update Schema”。
在 Schema 更新中,选择所有的勾选项,然后点击 “Update”。
创建用户并设置密码
- 添加管理员。
- 添加用户管理,然后点击 “Everyone”。
- 去创建一个新的用户,或者点击 “Administrator” 去编辑密码。
关于报告
这包中有 18 中报告。大多数报告你可以指定日期范围,输出限制,和一些条件限制。包涵盖的报告主要有三种:
- 体积:一些报告显示,微博总体积不同的日期和标记。
- 顶部列表:显示顶部的微博,转发,标签和用户。
- 具体条件:微博转发,可以测量或列出微博本身的文本。
你可以拷贝和修改报告或者使用报告作为模版,到 Drill 中去查询 Twitter 的数据。
你可以进入到报告,MicroStrategy 的开发者提供了一个比 Web 界面修改报告,或添加新的报告更强大的界面,但是需要 RDP 进入到节点。
使用 Web 接口
- 使用 Web 浏览器,输入 URL 接口地址:
http:///MicroStrategy/asp/Main.aspx
- 创建用户或者作为管理员登录,使用最初开发人员创建的证书。
在欢迎 MicroStrategy 的 Web 界面上,选择你使用过的项目包:“Drill Twitter Analysis”。
选择 “Shared Reports”。出现三种不同类型的文件夹。
选择一个报表,并响应任何提示。例如,按日期范围运行顶推的语言,输入所需的开始日期和结束日期。
点击 “Run Report”。一个直方图报告显示日期范围顶推的语言。
- 刷新数据或重新输入提示值,选择 “Data > Refresh” 或者 “Data > Re-prompt”。
浏览 Drill 分析的 Twitter 报表
MicroStrategy 开发报表是位于项目的公共目录文件夹,你可以选择去安装该包。
许多报告要求你响应提示选择所需的数据。例如,选择在右栏的顶部标签报告。本报告要求你响应开始日期和结束日期,并指定日期范围内感兴趣的数据;默认情况下,数据会选择最近两个月,到当前日期为止。你还可以指定要返回顶部标签数据的限制,默认是最顶端的 10 个标签。
当你点击 “Finish”,按照不同标签出现的次数生成一个柱状的报表。
其他的可用功能。例如,报表按小时展示:
该报表展示转发在指定日期范围的原始消息的统计。
总结
该教程,你学会了如何使用 Apache Flume 去配置 Twitter 数据。你也学会了如何使用 Apache Drill 利用 SQL 去分析原生的 JSON 格式数据,并且知道如何使用 MicroStrategy 去分析和生成报表。