Version 2021

在 MicroStrategy 中分析大数据

在商业智能和分析行业中,大数据主要涉及如何消费无法使用传统系统处理的大量数据。大数据需要使用新技术来存储、处理、搜索、分析和可视化大型数据集。

有关更多信息,请参阅以下主题:

新用户概述—提供大数据的一般介绍

有经验的用户:

大数据概述

本部分作为大数据的一般介绍,并概要说明术语和最常见的用例。本部分涵盖以下主题:

大数据的用例

大数据技术支持以前因数据量巨大或分析过程太复杂而不可行的用例。如今,利用在大数据中捕获的信息和见解能够为所有业务类型提供帮助:

  • 零售商希望通过向员工提供有关客户购物行为、当前产品、定价和促销的信息,来提供优质和个性化的客户服务。使用 MicroStrategy 运行大数据分析可以帮助商店人员提供个性化和相关的客户体验。
  • 制造商面临着提高效率、降低价格和维持服务等级的持续需求,这迫使他们降低整个供应链的成本。他们还需要通过查看与消费者人口统计和购物行为相关的产品销售情况来进行消费分析。通过使用 MicroStrategy,制造商可以对不同的数据源运行大数据分析,以实现完美的订单达成率和质量,并深入了解消费模式。
  • 电信公司需要将网络使用情况、用户密度以及流量和位置数据关联起来,以便进行网络容量规划和优化。使用 MicroStrategy 的电信公司可以通过运行分析,来准确监控和预测网络容量、制定计划来有效应对可能出现的断网问题和进行促销。
  • 医疗保健机构希望利用医疗组织拥有的 PB 级患者数据来提高药品销量、改善患者分析和提供更好的付款方解决方案。MicroStrategy 可以高效地构建和运行应用程序,以帮助实现此类用例。
  • 政府部门需要处理安全威胁、人口动态、预算编制和金融等大型任务。利用 MicroStrategy 对大型和复杂数据集的分析能力,政府人员可以获得深入见解,帮助他们做出明智的政策决策、消除浪费和欺诈、识别潜在威胁并为公民未来的需求做好规划。

大数据的特征

大数据带来了新的挑战,因此需要使用新的方法来应对挑战。企业在制定实现大数据用例的计划时,需要考虑大数据的 5V 特征:Volume(规模)、Variety(种类)、Velocity(速度)、Veracity(真实性)和 Value(价值)。

  • 规模是指生成的需要分析的数据内容的大小。
  • 速度是指生成新数据的速度,以及数据移动的速度。
  • 种类是指可以分析的数据类型。以前,分析行业主要关注可以放入表和列的结构化数据,它们通常存储在关系数据库中。但是,现在世界上大部分数据都是非结构化的,难以放入表中。在更广泛的层面上,数据可以分为以下三类。每个类别都需要使用不同的方法来分析数据
    • 结构化数据是结构已知的数据。数据存放在文件或记录的固定字段中。
    • 非结构化数据是没有已定义的数据模型或组织的信息。数据可以是文本形式(电子邮件正文、即时消息、Word 文档、PowerPoint 演示文稿、PDF)或非文本形式(音频/视频/图像文件)。
    • 半结构化数据介于结构化数据和非结构化数据之间。数据并未按照严格的数据模型来构建,例如事件日志数据或键值对字符串。
  • 真实性是指数据的可信度。由于大数据的来源和形式很多,质量和准确性都不太可控。
  • 价值是指将大数据转化为明确的商业价值的能力,这需要通过访问和分析来产生有意义的输出。

采用大数据时面临的挑战

企业在开发解决方案来挖掘大数据系统中存在的信息时,会遇到以下挑战:

  • 性能:希望对大数据进行高级分析的组织需要努力实现交互式性能。
  • 数据联合:在实际应用中,需要跨项目来集成数据。将以不同格式存储并具有不同来源的数据联合起来充满挑战性。
  • 数据清洗:企业发现,如何在分析准备期间清洗各种形式的数据也极具挑战性。
  • 安全:保持海量数据的安全是一项挑战,其中包括正确使用加密、记录数据访问历史以及通过各种行业标准认证机制访问数据。
  • 实现价值的时间:企业渴望缩短从数据中释放价值所需的时间。使用一系列单点解决方案来处理各种类型数据的众多来源通常非常耗时。

Hadoop 组件概述

本部分介绍 Hadoop 生态系统的主要组件。

Apache Hadoop 是一个用于分布式存储和分布式处理的开源软件框架,它使组织能够存储和查询比传统数据库中的数据多出几个数量级的数据,并能在经济高效的集群环境中做到这一点。下图显示 Apache Hadoop 组件的架构示意图。

与业务分析直接相关且与 MicroStrategy 支持的用例相关的元素包括:

  • HDFSHadoop Distributed File System,Hadoop 分布式文件系统)是 Hadoop 应用程序使用的数据存储文件系统,运行在商用计算机集群上。HDFS 集群由管理文件系统元数据的 NameNode 和存储实际数据的 DataNode 组成。HDFS 允许存储从 Hadoop 生态系统之外的应用程序导入的大型文件,还可以暂存导入的文件以供 Hadoop 应用程序处理。
  • YARNYet Another Resource Negotiator,另一种资源协调者)提供资源管理能力,是跨 Hadoop 集群为在 Hadoop 上运行的应用程序提供操作、安全和数据治理工具的中心平台。
  • MapReduce 是一种分布式数据处理模型和执行环境,运行在大型的商用计算机集群上。它使用 MapReduce 算法将所有操作分解为 Map 和/或 Reduce 函数。
  • Tez 是一种通用的数据流编程框架,它旨在提供比 MapReduce 更好的 SQL 查询工作流程性能。
  • Hive 是一个构建在 HDFS 之上的分布式数据仓库,用于管理和组织大量数据。Hive 提供用于存储大量原始数据的框架化数据存储和 SQL 式环境,以便在 HDFS 中对原始数据执行分析和查询任务。Hive 的 SQL 式环境是查询 Hadoop 的最流行方式。此外,Hive 可用于将 SQL 查询引导到各种查询引擎,如 Map-Reduce、Tez、Spark 等。
  • Spark 是一个集群计算框架。它提供简单而富有表现力的编程模型来支持各种应用,包括 ETL、机器学习、流处理和图形计算。
  • HBase 是一个面向列的分布式数据库。它使用 HDFS 作为底层存储,并支持使用 MapReduce 的批处理式计算和事务性的点查询(随机读取)。

在 MicroStrategy 中连接和分析大数据源

大数据生态系统有许多 SQL 引擎(Hive、Impala、Drill 等),用户可以使用这些引擎将 SQL 查询传递给大数据源,并像使用传统的关系数据库那样来分析数据。因此,用户可以利用在通过 SQL 访问结构化数据时使用的同一分析框架。

MicroStrategy 支持与多个大数据 SQL 引擎的连接,并对这些连接进行了认证。与传统数据库类似,与这些 SQL 引擎的连接是通过 ODBC 或 JDBC 驱动实现的。

MicroStrategy 还提供一种允许用户直接从 Hadoop 文件系统(HDFS)导入数据的方法。这是通过使用 MicroStrategy Hadoop Gateway 实现的,它允许客户端绕过 SQL 查询引擎将数据直接从文件系统加载到 MicroStrategy 内存中立方体以进行分析。

下图显示用于将数据从 Hadoop 系统传输到 MicroStrategy 的层。

选择数据访问模式

MicroStrategy 允许用户有效地利用协同工作的大数据系统和 BI 系统的资源,为运行分析提供最佳性能。用户可以选择以下模式:

  1. 将数据存入内存(内存中方法)—仅从内存中立方体获取用于分析的数据。MicroStrategy 使用户能够将数据子集(可能高达数百 GB)从大数据源提取到内存中立方体,然后从该立方体构建报表/达析报告。通常,立方体设置为定期发布并保存在服务器的主内存中,从而无需耗费大量时间来查询大数据数据库。
  2. 直接从源访问数据(实时连接方法)—仅从数据库访问数据。MicroStrategy 提供与各种大数据源的连接,以便动态实时地根据源来运行报表和达析报告。
  3. 采用混合方法—根据需要从内存中立方体和数据库获取数据。混合方法通过允许用户根据用户提交的查询在上述两种方法之间无缝切换,有效地利用二者的能力。MicroStrategy 具有动态数据源技术,可自动确定特定查询是否可由立方体或数据库应答,并可相应地引导查询。

下图总结了这三种方法:

虽然内存中方法通常可以产生最快的分析性能,但它可能由于数据量很大而不够实用。以下部分讨论在决定如何访问数据时的设计考虑因素。

  • 内存中方法:这种方法提供更快的性能;但是,数据仅限于可以放入主内存的小型集合,并且根据内存中数据的更新频率,数据可能会过时。此方法适用于下列情况:
    • 最终数据是聚合形式,可以放在 BI 计算机的主内存中
    • 数据库对于交互式分析来说太慢
    • 用户需要卸除事务数据库的负载
    • 用户需要离线
    • 可以在 BI 级别设置数据安全性
  • 实时连接方法:在达析报告数据需要处于最新状态的情况下,或者数据的详细程度使得无法将所有数据都存储在内存中立方体时,使用实时连接选项构建达析报告可能是合适的方法。这允许在每次执行时从数据仓库中获取最新数据。如果在数据库级别设置安全性,并且需要执行数据仓库相关操作以便向每个用户显示他们有权访问的数据,此方法也很有用。此方法适用于下列情况:
    • 数据库快速响应
    • 用户访问在数据库中经常更新的数据
    • 数据量高于内存中限制
    • 用户想在预定的时间传递预先执行的达析报告
    • 数据安全性在数据库级别设置
  • 混合方法:此方法适用于达析报告的启动画面包含高级聚合信息(用户可以从中向下钻取详细信息)的用例。在此类用例中,管理员可以将聚合数据发布到内存中立方体,以便快速显示达析报告的主屏幕,然后在用户向下钻取时依据大数据系统中的较低级别数据来显示达析报告。MicroStrategy 中的动态数据源功能使构建此类应用程序变得非常容易,因为选定的报表可以转换为立方体,而 MicroStrategy 会根据用户请求的数据自动确定是从立方体还是数据库中提取数据。

支持的大数据驱动和供应商

Hadoop SQL 引擎针对特定数据操作进行了优化。根据数据类型以及为访问数据而执行的查询,我们可以将用例分为以下五个组:

  1. 批处理 SQL—用于对大数据执行大规模转换
  2. 交互式 SQL—启用对大数据的交互式分析
  3. No-SQL—通常用于大规模数据存储和快速事务查询
  4. 非结构化数据/搜索引擎—主要使用搜索功能分析文本数据或日志数据
  5. 清洗数据并将数据加载到内存/Hadoop Gateway—针对快速发布内存中立方体进行优化并主要用于该用途

下图显示用例与 MicroStrategy 当前支持的引擎之间的映射。

批处理

Hive 是最流行的批处理查询机制。由于它具有容错性,因此建议用于 ETL 类型的作业。所有主要的 Hadoop 发行版(如 Hortonworks、Cloudera、MapR 和 Amazon EMR)都提供 Hive ODBC 连接器。MicroStrategy 与上述所有 Hadoop 供应商合作,并通过 Hive 提供与 Hadoop 的认证连接。

Hive 是一个很好的引擎,可以与 MicroStrategy 中的内存中方法一起使用,或者作为实时连接方法的一部分使用(当它与分发服务配对时),这样数据库延迟不会影响最终用户。由于它使用 MapReduce 来处理查询,因此批处理具有高延迟并且不适用于交互式查询。

下表列出受支持的 Hive 发行版的连接信息。

供应商 连接 用例 驱动名称 工作流程
Cloudera Hive ODBC 采用 SQL 并将其转换为 Map Reduce 的工具,可用于对数据进行大规模的 ETL 式转换 MicroStrategy Hive ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
Hortonworks Hive

ODBC

采用 SQL 并将其转换为 Map Reduce 的工具,可用于对数据进行大规模的 ETL 式转换 MicroStrategy Hive ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
MapR Hive ODBC 采用 SQL 并将其转换为 Map Reduce 的工具,可用于对数据进行大规模的 ETL 式转换 MicroStrategy Hive ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
Amazon EMR Hive ODBC 采用 SQL 并将其转换为 Map Reduce 的工具,可用于对数据进行大规模的 ETL 式转换 MicroStrategy Hive ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持

交互式查询

一些 Hadoop 供应商开发了支持交互式查询的快速执行引擎。这些引擎使用特定于供应商/技术的机制来查询 HDFS,但仍然使用 Hive 作为元数据存储。所有这些技术都在快速发展,它们与高级分析功能相结合可加快大型数据集响应速度。Impala、Drill 或 Spark 等交互式引擎可与 MicroStrategy 达析报告 有效配对,以在 Hadoop 上实现自助式数据发现。这些引擎已通过认证,可以与 MicroStrategy 配合使用。

下表列出受支持的发行版的连接信息。

供应商 连接 用例 驱动名称 工作流程
Cloudera Impala ODBC 一种开源大规模并行处理(MPP) SQL 查询引擎,适用于存储在运行 Apache Hadoop 的计算机集群中的数据。Impala 使用自己的处理引擎,可以执行内存中操作 MicroStrategy Impala ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
Apache Drill ODBC MapR 支持的开源低延迟查询引擎。它具有即时发现框架的能力,能够提供自助式数据探索功能 MicroStrategy Drill ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
Apache Spark ODBC 一种处理分布式数据集合的数据处理工具,由最大的开源社区之一开发。凭借其内存中处理功能,Spark 比 MapReduce 快几个数量级 适用于 Apache Spark SQL 的 MicroStrategy ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
IBM BigInsights ODBC 一个丰富的高级分析功能集合,允许企业在 Hadoop 上分析海量的本机格式结构化和非结构化数据 BigInsights ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
Pivotal HAWQ ODBC 一种并行 SQL 查询引擎,以本机方式在 HDFS 中读取和写入数据。它为用户提供完整的 ANSI 标准兼容 SQL 接口 适用于 Greenplum Wire Protocol 的 MicroStrategy ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持
Google BigQuery ODBC 一项基于云的服务,利用 Google 的基础架构使用户能够以交互方式查询数 PB 级数据 MicroStrategy Google BigQuery ODBC 驱动 通过 MicroStrategy Architect 和 MicroStrategy Data Import 获得支持

NoSQL 源

NoSQL 源针对大型信息存储和事务查询而优化。它们可以与 MicroStrategy 中的多源选项或数据混合选项有效配对,使用户能查看传统数据库中的更高级别的信息,而且,它们通过与 NoSQL 源的集成使用 No-SQL 源提供向下钻取最低级别事务数据的功能。

下表列出 MicroStrategy 为其提供认证连接的 NoSQL 源。

供应商 连接 用例 驱动名称 工作流程
Apache Cassandra JDBC 键值存储,所有数据都包含索引键和值 Cassandra JDBC 驱动 通过 MicroStrategy Data Import 获得支持
HBase JDBC 一种列存储 NoSQL 数据库,它将数据作为数据列的部分存储在表中,而不是将数据存储在行中。它提供高性能和可扩展的体系结构 Phoenix JDBC 驱动 通过 MicroStrategy Data Import 获得支持
MongoDB ODBC 一种面向文档的数据库,避免了基于表的传统关系数据库结构,使得某些类型的应用程序中的数据集成变得更容易和更快捷 MicroStrategy MongoDB ODBC 驱动 通过 MicroStrategy Data Import 获得支持

非结构化数据/搜索引擎

搜索引擎是一种有效的工具,允许用户搜索大量的文本数据,并向其达析报告中的数据添加上下文。当与 MicroStrategy 中的数据混合选项一起利用时,此功能很强大,并允许搜索数据与传统企业源配对。

下表列出受支持的 Hive 发行版的连接信息。

供应商 连接 用例 驱动名称 工作流程
Apache Solr 本机 最受欢迎的开源搜索引擎,允许全文搜索、分面搜索和实时索引。MicroStrategy 已经构建了一个与 Solr 集成的连接器。它提供从 Solr 执行动态搜索、分析和可视化索引数据的功能 内置 通过 MicroStrategy Data Import 获得支持
Splunk Enterprise ODBC 一个广泛使用的专有搜索引擎 Splunk ODBC 驱动 通过 MicroStrategy Data Import 获得支持

MicroStrategy Hadoop Gateway

MicroStrategy 使用 Hadoop Gateway 提供与 HDFS 的本机连接。Hadoop Gateway 绕过 Hive,直接从 HDFS 访问数据。Hadoop Gateway 单独安装在 HDFS 节点上。

Hadoop Gateway 旨在优化在连接到 Hadoop 时创建大型内存中立方体的用例。它采用以下技术高效从 Hadoop 中批量导入数据:

  • 绕过 Hive 直接访问数据:绕过 Hive/ODBC 与作为 Yarn 应用程序运行的 HDFS 进行本机通信。这进一步减少了数据查询和访问时间。
  • 从 HDFS 并行加载数据:通过并行线程将数据加载到 MicroStrategy Intelligence Server 中,从而产生更高的吞吐量并减少加载时间。
  • 为内存中用例启用下推式数据清洗:数据清洗操作在 Hadoop 中执行,从而支持大规模清洗。

Hadoop Gateway 的体系结构概述

  1. Hadoop Gateway 是一个单独的 MicroStrategy 专有安装,需要通过下列方式安装在 HDFS 数据和名称节点上:
    1. 在 HDFS 名称节点上安装 Hadoop Gateway 查询引擎
    2. 在 HDFS 执行引擎上安装 Hadoop Gateway 执行引擎
  2. MicroStrategy Intelligence Server 将查询发送到 Hadoop Gateway 执行引擎;查询随后被解析并发送到数据节点进行处理。然后,通过查询获取的数据在并行线程中从数据节点推送到 MicroStrategy Intelligence Server,以便发布到内存中立方体。

下图显示位于体系结构图中的 MicroStrategy Hadoop Gateway。

Hadoop Gateway 限制

目前,Hadoop Gateway 具有一些限制:

  • 仅支持文本和 csv 文件
  • 仅对内存中用例支持数据清洗
  • 不支持多表数据导入
  • 对于分析功能,仅支持聚合及筛选不支持 JOIN 操作
  • 使用共享服务用户与特定用户委派支持 Kerberos 安全性

连接大数据源的工作流程示例

本部分包含从 MicroStrategy 连接到大数据源的不同工作流程示例:

通过 Developer 连接到 Hortonworks Hive

商业智能管理员/开发人员可以按照下述步骤使用 MicroStrategy Developer 连接到大数据源。工作流程类似于传统数据库与 MicroStrategy 集成的方式。这些步骤可分为三个概念领域:

  1. 从 MicroStrategy 建立与源的连接。这包括创建含有适当连接详细信息的 ODBC 数据源,以及创建指向 ODBC 源的数据库实例对象。
  2. 通过“Warehouse Catalog”界面从源导入表。
  3. 创建所需的框架对象(例如实体、事实等)以构建报表和达析报告。

在下面的步骤中,Hortonworks Hive 作为示例显示。

从 MicroStrategy 建立与源的连接:

  1. 打开 ODBC 数据源管理器以建立与源的数据源连接。单击添加以创建一个新的连接。

  2. 选择驱动(在此示例中,选择 Hive ODBC),然后单击完成

  3. 填写适当的连接详细信息:

    1. 数据源名称:用于保存连接的名称
    2. 描述:可选
    3. Hive 服务器类型:根据环境选择服务器
    4. 服务发现模式:可以使用两种服务发现模式(如下所示)。当用户选择“Zookeeper”时,MicroStrategy 将允许键入 Zookeeper 命名空间(如下所示)。

    5. 主机、端口和数据库名称:必填字段,根据环境填写。
    6. 身份验证:MicroStrategy 对适用于 Hortonworks Hive 的不同身份验证机制进行了认证:无身份验证、Kerberos、用户名、用户名和密码。根据所选的机制,Thrift Transport 参数将发生变化。例如:
      • 对于“无身份验证”—Thrift Transport 参数是“Binary”
      • 对于“Kerberos”—Thrift Transport 参数是“SASL”
      • 用户名、用户名和密码—Thrift Transport 参数是“SASL”

    7. 选择并填写连接详细信息后,可以使用“测试”按钮进行测试。
  4. 打开 MicroStrategy Developer。登录项目->转到“Configuration Manager”->“Database Instances”(数据库实例)->“Create a New Database Instance”(创建新的数据库实例)。

    如果您是首次在Windows上运行MicroStrategy Developer,请以管理员身份运行。

    右键单击程序图标并选择 以管理员身份运行

    这是正确设置Windows注册表项所必需的。有关更多信息,请参阅 KB43491

    选择先前为源创建的“数据源名称”。填写所需的用户登录名和密码。

  5. 从源导入表:转到“Schema”(框架)->“Warehouse Catalog”(数据仓库目录)->选择“Database Instance”(数据库实例)->从源中拖放所需的表。

    保存并关闭目录。

  6. 根据需要构建实体和度量。启动新的 MicroStrategy 报表以构建分析。

通过 Web Data Import 连接到 Hortonworks Hive

业务分析师和最终用户可以利用 MicroStrategy Web Data Import 工作流程来连接和分析数据,就像使用关系数据源一样。它可以分为三个概念领域:连接、导入和分析。

以下是从 MicroStrategy Web Data Import 连接到 Hortonworks Hive 的连接窗口。

  1. 选择查询引擎。通过 MicroStrategy 数据导入屏幕选择要连接的引擎。

  2. 选择导入选项。选择是构建查询、键入查询还是选择表。建议使用选择表方法,因为它可以最好地利用 MicroStrategy 的建模功能。

  3. 创建连接。定义与 Hadoop 系统的新连接。

  4. 选择表。选择将从中访问数据的表。

  5. 对数据进行建模。(可选)对表进行建模、更改实体和度量的名称、从导入中排除列等。

  6. 定义数据访问模式。选择是将数据作为内存中立方体发布还是通过实时连接模式发布。

  7. 构建达析报告。

通过 Hadoop Gateway 连接

可按照典型的数据导入工作流程从 MicroStrategy Web Data Import 中利用 Hadoop Gateway:

  1. 建立与 Hadoop/HDFS 集群的连接
  2. 从 HDFS 浏览和导入文件夹
  3. 清洗数据(可选)
  4. 将数据作为内存中立方体发布到 MicroStrategy Intelligence Server 中,然后通过达析报告分析数据

以下是每个步骤的详细信息。

  1. 建立连接。

  2. 选择要导入的表。

  3. 使用数据整理程序准备数据。

  4. 接下来的步骤是将内存中立方体发布到 MicroStrategy Intelligence Server 中,并使用 Visual Insight 界面构建达析报告。