十二、云中的大数据
在过去几年中,云中的大数据部署变得越来越流行。云的灵活性和敏捷性非常适合运行 Hadoop 集群。云显著降低了 IT 成本,同时为应用程序提供了扩展能力。扩展和收缩集群只需几分钟,并且大多数任务不需要系统管理员。虽然一些组织仍然倾向于本地大数据部署,但如今大多数大数据环境都部署在三大公共云提供商之一。
我在这一章的目标是给你一个关于云中的 Cloudera Enterprise 的高层次概述。对于这个主题的更完整的处理,请参考用于 AWS、 i Azure、 ii 和 Google 云平台 iii 部署的 Cloudera 参考架构。
亚马逊网络服务(AWS)
AWS 于 2006 年 3 月推出,是三大主要公共云提供商中的第一家也是最大的一家。 iv AWS 提供最广泛的存储、应用、分析和计算服务。由于其先发优势,AWS 是领先的云提供商,客户范围从最大的公司到创新型初创企业和小型企业。
微软 Azure 服务
微软 Azure 提供类似 AWS 的云服务,例如 SQL 数据库、存储、应用程序和虚拟机等等。Azure 最近开始蚕食亚马逊的市场份额,因为其积极的定价策略和与微软技术栈的紧密集成。根据一项调查,2017 年 Azure 的整体采用率从 20%增长到 34%,而 AWS 在其受访者中保持在 57%。 v 在企业中,Azure 也凭借 Azure 降低了 AWS 的领先优势,实现率从 26%大幅提升至 46%。AWS 在企业中的采用率从 56%略微上升到 59%。VI
谷歌云平台(GCP)
2011 年推出的谷歌云平台是三大主要公共云提供商中最年轻的一家。最初是为了支持自己的服务,如 YouTube 和谷歌搜索,谷歌最终建立了包括 Cloud Spanner 和 Cloud Bigtable 在内的其他云服务,并向公众开放。GCP 最近获得了一些牵引力,但与 AWS 和 Azure 相比,它仍被认为没有准备好迎接黄金时间。
表 12-1 提供了一个粗略的指南 vii 帮助您在三个提供商之间映射等价服务 viii 。
表 12-1
Service Comparison Between AWS, Azure, and GCP
| 亚马逊网络服务 | 谷歌云平台 | 微软 Azure 服务 | | :-- | :-- | :-- | | 亚马逊 EC2 | 谷歌计算引擎 | Azure 虚拟机 | | 亚马逊 EC2 容器服务 | 谷歌容器引擎 | Azure 集装箱服务 | | AWS 弹性豆茎 | 谷歌应用引擎 | Azure 云服务和应用服务 | | 自动气象站λ | 谷歌云功能 | 天青函数 | | 亚马逊冰川和亚马逊 S3 标准——很少进入 | 谷歌云存储近线 | | | 亚马逊 S3 | 谷歌云存储标准 | 天蓝色块状斑点 | | 亚马逊 EC2 容器注册中心 | 谷歌容器注册 | | | 亚马逊 DynamoDB | 谷歌云数据存储或谷歌云大表 | DocumentDB 蓝色 | | 亚马逊 RDS | 谷歌云 SQL | 蓝色数据库 | | 亚马逊 EMR 和 AWS 数据管道 | Google Cloud Dataflow 和 Google Cloud Dataproc | Azure HD Insight | | 亚马逊 Kinesis 和亚马逊简单队列服务(SQS) | 谷歌云发布/订阅 | Azure 事件中心和 Azure 服务总线 | | 亚马逊红移 | Google big query(Google big query) | Azure SQL 数据仓库和 Azure 数据湖分析 | | 亚马逊云观测 | 谷歌云监控和谷歌云日志 | Azure 应用洞察和 Azure 运营洞察 | | 亚马逊弹性负载平衡 | 谷歌云负载平衡 | Azure 负载平衡器 | | 亚马逊 53 号公路 | 谷歌云域名系统和谷歌域名 | DNA 蓝色 | | AWS 直接连接 | 谷歌云互联 | 蓝色快车路线 | | AWS 身份和访问管理(IAM) | 谷歌云身份和访问管理 | 活动目录 | | AWS 组织 | 谷歌云资源管理器 | Azure 资源管理器 | | AWS 密钥管理服务(KMS) | 谷歌云密钥管理服务 | 蓝色钥匙保险库 | | 亚马逊检查员 | 谷歌云安全扫描器 | | | AWS 云阵 | 谷歌云部署管理器 | Azure 资源管理器 |云时代云中的企业
本章的重点是在云中运行 Cloudera Enterprise。在这种特定的设置下,云提供商只负责提供基础设施。将使用 Cloudera 企业组件和功能,而不是云提供商提供的服务。Cloudera Enterprise 可以集成亚马逊 S3 和 Azure Block Blobs 等云提供商提供的一些服务。
混合云和多云
您可能想知道,当三家公共云提供商已经提供大数据服务时,为什么有人会在云中使用 Cloudera Enterprise?两个原因:厂商锁定和数据可移植性。一旦你把数据放在一个云提供商那里,并且完全依赖他们的服务,你就被他们的平台锁定了。将您的数据迁移到本地或其他云提供商非常困难。即使您能够迁移您的数据,您仍然需要使用目标云提供商提供的服务来重构您的应用程序。将此与在云中使用 Cloudera Enterprise 进行比较。Cloudera Enterprise 是一个混合/多云大数据平台,这意味着可以部署 Cloudera Enterprise 集群在 AWS、Azure 和 GCP(或内部)上运行。将 Cloudera Enterprise 迁移到另一家云提供商要容易得多。因为您基本上只是在改变基础设施提供者,所以迁移您的应用程序只是更新连接细节的问题。
在当今不断变化的技术环境中,这种灵活性极其重要。多年来,许多公司一直在将其内部部署的 CDH 集群迁移到 AWS,反之亦然。我知道有几家公司成功地将其 CDH 集群从 AWS 迁移到 Azure。一些公司在内部部署生产集群,而他们的开发和测试/QA 环境在 AWS 或 Azure 中。
根据 RightScale 2017 年云状态报告,混合云是首选的企业战略,85%的企业拥有多云战略,高于 2016 年的 82%。 ix
瞬态集群
借助 Cloudera Enterprise,您可以选择在云中配置临时或永久(持久)集群。瞬态集群可以通过基于使用的定价来降低某些用例的成本。自助服务模式允许用户部署和管理自己的集群,从而提供了灵活性。它适用于间歇执行的数据科学或数据工程作业。您启动一个集群,运行您的作业,将您的数据存储在一个对象存储中,比如 S3(这样您的数据仍然可供将来使用),然后在完成后关闭您的集群。这些步骤有时是脚本化的,所以一切都是自动化的。在这种类型的部署模型中,存储和计算是分离的。 x 瞬态工作负载的示例包括 ETL 作业、训练机器学习模型、临时数据分析以及开发和测试/QA 工作流 xi 等等。
持久集群
对于需要随时可用的集群,持久集群更合适。这些持久集群是云中永久“开启”的集群,与本地集群有相似的要求。这些星系团也被称为“提升移位”星系团。这些集群通常是企业环境的一部分,其中的用例更具战略性。这些集群通常具有高可用性和灾难恢复、资源管理、安全性和数据治理。持久集群的例子有大型多用户集群、BI/分析集群、HBase 和 Kafka 集群等等。 xii 持久集群的定价通常是传统的基于节点的许可。
Cloudera 总监
Cloudera Enterprise 提供了一个强大的云管理工具,名为 Cloudera Director(见图 12-1 )。Cloudera Director 通过提供灵活且易于使用的自助服务功能,在 AWS、Azure 和 GCP 等云环境中部署和管理 Cloudera Enterprise,从而支持 Cloudera 的混合云和多云功能。Cloudera Director 包括一个客户端组件和一个 REST API,可用于自动化和编写云部署脚本。
图 12-1
Cloudera Director
Cloudera Director 架构
Cloudera Director 使用户可以非常轻松地在所有三家公共云提供商上部署和维护 Cloudera 环境。如图 12-2 所示,CDH 集群的实际管理和监控仍由 Cloudera Manager 执行,而数据治理、安全性、审计和元数据管理则由 Cloudera Navigator 执行。一旦您的组织开始在云中部署多个集群,您就会开始体会到 Cloudera Director 的价值。
图 12-2
Cloudera Director high-level architecture
Cloudera Director 客户端
Cloudera Director 包括客户端软件,您可以使用该软件从命令行部署和管理集群。它通常用于快速部署测试和开发环境。客户端使用配置文件来自动化集群部署。
Cloudera Director REST API
Cloudera Director 的所有功能都可以通过 REST API 访问。您可以使用 REST API 来自动化安装和管理 Cloudera 云部署的任务。您可以从用 Python 和 Java 编写的脚本或应用程序中调用 REST API。要了解更多关于 Cloudera Director 的 REST API,请参考 Cloudera Director SDK Github 页面。XIII
AWS 上的 Cloudera
由于 AWS 是最受欢迎的公共云提供商,我们将在本章重点介绍在 AWS 上运行 Cloudera Enterprise。我在本章谈到的大多数概念也适用于 Azure 和 GCP 上的 Cloudera Enterprise。我将对在 AWS 上部署 Cloudera Enterprise 的组件和需求进行概要介绍。提供在 AWS 上部署 Cloudera Enterprise 的全面指南超出了本章的范围。有关更多详细信息,请参考用于 AWS 部署的 Cloudera 企业参考架构。 十四
区域和可用性区域
在 AWS 中,服务部署在自包含的地理位置,称为区域。区域被进一步细分为可用性区域。可用性区域是区域内可以部署集群的独立位置。Cloudera 企业部署只能驻留在单个可用性区域中。XV
虚拟专用云(VPC)
AWS 有一个虚拟私有云或 VPC 的概念。XVIVPC 呈现了一个虚拟网络,其行为类似于传统网络。
安全组
安全组就像 AWS 中的防火墙。安全组使用户能够打开或关闭端口,限制 IP 地址,以及允许或禁止 EC2 实例的特定网络流量。Cloudera 企业集群需要三个安全组用于集群、flume 或摄取节点以及 edge 或 gateway 节点。 xvii 图 12-3 显示了在 AWS 中如何实现安全组的高级视图。
图 12-3
Cloudera Enterprise on AWS Security Groups
EC2 实例
EC2 实例有点像一个虚拟服务器,具有与之相关联的 CPU、RAM、网络和存储。Amazon 提供了几种针对各种用例优化的 EC2 实例类型。实例类型分为几个类别,以帮助您为您的应用程序选择正确的 EC2 实例类型。实例类型类别包括通用、计算优化、内存优化、加速计算和存储优化。Cloudera 为每个 CDH 集群节点类型推荐了合适的 EC2 实例类型。XVIII
主节点
将 EBS 存储用于主节点时,需要 EBS 优化的实例。
- c 4.2x 大,c 4.4x 大,c 4.8x 大
- m4.xlarge,m4.2xlarge,m4.4xlarge,m4.8xlarge,m4.10xlarge,m4.16xlarge
- R4 . XL 大,r 4.2x 大,r 4.4x 大,r 4.8x 大,r 4.16 x 大
如果使用临时磁盘部署主节点,建议使用以下实例类型。
- c 3.8 x 大号
- d 2.8 x 大
- 12.8 x 大
- 3.16 倍大
- r 3.8 x 大
工作节点
将 EBS 存储用于工作节点时,需要 EBS 优化的实例。
- c 4.2x 大,c 4.4x 大,c 4.8x 大
- m4.xlarge,m4.2 倍大,m4.4 倍大,m4.10 倍大
- R4 . XL 大,r 4.2x 大,r 4.4x 大,r 4.8x 大,r 4.16 x 大
- EBS 优化的 D2、I2 或 R3 实例类型
如果使用临时磁盘部署主节点,建议使用以下实例类型。
- c 3.8 x 大号
- d 2.8 x 大
- 2.8 x 大,2.16 x 大
- 3.8 x 大,3.16 x 大
- r 3.8 x 大
Note
Cloudera 建议大量使用 Impala 的 CDH 集群使用 d2.8xlarge、i2.8xlarge 或 i3.8xlarge 实例。
边缘节点
对于边缘节点没有具体的建议。您可以选择任何实例类型,只要它对您的工作负载有足够的资源。
关系数据库
Cloudera Enterprise 需要 MySQL、PostgreSQL 或 Oracle 等关系数据库来存储 Cloudera Manager、Hive 和 Impala metastore、Hue 和 Oozie 使用的数据库。您可以使用 EC2 实例或 RDS 来存放您的关系数据库。
Cloudera 总监
Cloudera 建议对 Cloudera Director 使用 c3.large 或 c4.large 实例。 xix
仓库
我描述了 Cloudera Enterprise 支持的不同类型的存储。
短暂的
如果您停止或终止附加到它的 EC2 实例,临时或实例存储将丢失(它将在实例重启后继续存在)。由于性能原因,临时存储适合于 HDFS 数据目录,因为从临时存储读取不需要通过网络远程读取。
使用临时存储时,您应该有一个备份或灾难恢复计划。使用 distcp 将数据复制到 S3,使用 Cloudera Manager 的备份和数据恢复(BDR)功能备份数据,或者使用 StreamSets Data Collector 等数据传输或复制工具,都有助于防止数据丢失。
弹性块存储
与暂时存储相比,弹性块存储(EBS)为 EC2 实例提供永久的块级存储。即使您停止或终止 EC2 实例,数据也不会丢失。有几种类型的 EBS 存储,如 ST1、SC1 和 GP2 卷。Cloudera 建议所有 EBS 支持的实例都使用 GP2。Cloudera 还建议 GP2 卷的大小至少为 100 GB,以保持足够的 IOPS。xx
S3
S3 是亚马逊作为服务提供的一个对象商店。S3 比传统存储引擎便宜得多,这使得它非常适合存储备份和“冷”数据,如旧的历史数据。对于瞬态工作负载,S3 也是保存 ETL 或 BI/分析工作流结果的理想数据存储。
S3 的一些 IO 特征使它不适合某些用例。首先是延迟。从 S3 读取数据比从 HDFS 或库都读取数据慢几倍。如果性能很重要,最佳实践是将“热”数据存储在 HDFS 或库都,将“冷”数据存储在 S3。其次,S3 是一个最终一致的数据存储,这意味着写入其中的数据可能在一段时间内不可读取,通常是几毫秒或几秒。有记录的案例表明滞后时间为几个小时。 xxi 这可能会给需要读取一致性的应用程序带来问题。
Cloudera Enterprise and S3
一些 Cloudera 企业服务可以与 S3 交互。Cloudera S3 连接器支持顺化的安全 S3 访问。 xxii 蜂巢,蜂巢上的 Spark、Spark 和 Impala 可以读写 S3 的数据。关于如何使用 Impala 访问 S3 数据的更多细节,请参阅第三章。有关如何使用 Spark 访问 S3 的详细信息,请参阅第五章。
S3Guard
如前所述,S3 是一个最终一致的数据存储。然而,大多数 Hadoop 应用程序需要读取一致性才能正常工作。Cloudera Enterprise 附带的大多数存储引擎(HDFS、HBase 和 Kudu)都提供读取一致性(Solr 最终是一致的)。
S3Guard 是由开源社区开发的,用于处理由 S3 最终一致性引起的问题。 xxiii S3Guard 不“修复”S3 的一致性模型,它通过将写入 S3 的所有元数据更改记录到外部“元数据存储”来工作;由于这个元数据存储应该是一致的,应用程序可以使用这些信息来完成丢失的元数据,这些元数据在 S3 可能还不可用。S3 护卫队和 CDH 一起出航。
基于 AWS 架构的 Cloudera Enterprise
图 12-4 展示了 AWS 上典型的 Cloudera 企业环境。XXIV
图 12-4
Cloudera Enterprise on AWS Architecture
使用 Cloudera Director 在 AWS 上部署 Cloudera Enterprise
没有比使用 Cloudera Director 在 AWS 上实际部署集群更好的学习方法了。请注意,此安装仅适用于测试或开发环境。
您需要在 EC2 实例上下载并安装 Cloudera Director。设置 AWS 环境超出了本书的范围。如果您需要有关如何为 Cloudera Director 设置 AWS 环境的指导,例如设置 VPC、安全组和 EC2 实例,请参考 Cloudera Director 用户指南。XXV
我假设您已经启动了 EC2 实例。本例中我们将使用 Red Hat/CentOS 7 . x(Ubuntu 和 Red Hat/CentOS 6.x 也受支持)。
使用 pem 文件登录到 EC2 实例。
ssh –i mypemfile.pem ec2-user@cloudera_director_private_ip
Note
根据您使用的 AMI,您可能需要使用不同的 ssh 登录。在 AWS 控制台中,查看“实例”页面中的使用说明。您可能需要使用 centos 或 root 登录,而不是 ec2-user。
您需要安装受支持版本的 Oracle JDK。目前支持 JDK 7 和 8。您可以从 Oracle 网站下载 rpm。
sudo yum localinstall jdk-version-linux-x64.rpm
添加 Cloudera Director 存储库
cd /etc/yum.repos.d/
sudo wget http://archive.cloudera.com/director/redhat/7/x86_64/director/cloudera-director.repo
一旦更新了存储库,现在就可以安装 Cloudera Director 服务器和客户端软件了。
sudo yum install cloudera-director-server cloudera-director-client
启动 Cloudera Director 服务器。
sudo service cloudera-director-server start
有时会启用 Red Hat/CentoOS 7 中的防火墙。这将阻止您连接到 Cloudera Director。禁用并停止防火墙。
sudo systemctl disable firewalld
sudo systemctl stop firewalld
Note
Cloudera 不建议将您的安全组配置为允许通过互联网访问您的 EC2 实例的公共 IP 地址。Cloudera 建议您使用 SOCKS 代理服务器连接到集群节点和 Cloudera Manager。有关如何配置 SOCKS 代理服务器的更多详细信息,请参考 Cloudera Director 用户指南。出于测试目的,您可以打开安全组以允许访问公共 IP 地址。只是别忘了关上它!
打开 web 浏览器,转到运行 Cloudera Director 的 EC2 实例的端口 7189 上的公共或私有 IP 地址。在用户名和密码字段使用“admin”登录(参见图 12-5 )。
图 12-5
Cloudera Director Login Page
您将看到一个指示板,帮助您添加 Cloudera 管理器或集群。让我们添加一个 Cloudera 管理器(见图 12-6 )。
图 12-6
Cloudera Director Dashboard
填写创建 Cloudera Manager 实例所需的信息,例如实例类型、AMI ID、安全组 ID、VPC 子网 ID 等,如图 12-7 所示。
图 12-7
Edit Instance Template
向下滚动以输入关于您的实例的更多细节(参见图 12-8 )。有关不同选项的更多信息,请参考 AWS 文档。完成后保存更改。
图 12-8
Edit Instance Template Page 2
输入关于 Cloudera Manager 实例的详细信息,例如名称和密码(参见图 12-9 )。
图 12-9
Add Cloudera Manager
在创建 Cloudera Manager 实例的同时,您可以开始创建集群。Cloudera Director 为您提供从头创建集群或从现有集群克隆的选项。您还必须输入集群名称,并选择要在集群上运行的服务(参见图 12-10 )。
图 12-10
Add Cluster
Cloudera Director 让您可以轻松配置集群节点,如图 12-11 所示。请注意,您的员工至少需要三个节点。
图 12-11
Cluster nodes
确认集群中的节点数量。准备好后点击确定(见图 12-12 )。
图 12-12
Confirmation to create compute instance
您将看到 Cloudera Manager 和集群安装的进度指示器(参见图 12-13 )。
图 12-13
Cloudera Manager and Cluster installation
安装完成后点击“下一步”(参见图 12-14 )。
图 12-14
Cloudera Manager and Cluster installation completed
将显示 Cloudera Director 仪表盘(参见图 12-15 )。
图 12-15
Cloudera Director Dashboard
点击 Cloudera Manager 安装的名称,获取更多关于 Cloudera Manager 的信息(见图 12-16 )。
图 12-16
Cloudera Director Dashboard – Cloudera Manager Details
或者,您可以单击 Cloudera Enterprise 集群的名称来获取关于该集群的更多信息,例如已安装的服务和实例组状态(参见图 12-17 )。
图 12-17
Cloudera Director Dashboard – Cluster Details
单击链接“转到集群”打开 Cloudera Manager。你会看到 Cloudera Manager 主页,如图 12-18 所示。
图 12-18
Cloudera Manager main page
导航到“主机”选项卡以获取集群节点列表(参见图 12-19 )。
图 12-19
All Hosts
展开“角色”以获得每个节点上运行的服务列表(参见图 12-20 )。
图 12-20
All Host – Roles
恭喜你!您刚刚使用 Cloudera Director 在 AWS 中安装了一个测试 Cloudera 企业集群。
Azure 和 GCP 上的 Cloudera 企业
有关如何在 Azure 和 GCP 上部署 Cloudera 的详细信息,请参考 Cloudera Director 用户指南。 xxvi 技术可能不同,但在 AWS 上部署 Cloudera Enterprise 中讨论的大部分概念也适用于 Azure 和 GCP。
Note
在 Microsoft Azure 上运行 Kudu 时,您可能会遇到 ntp xxvii 的问题。禁用时间同步应该可以解决这个问题。
云是时候了
根据 Cloudera 的说法,cloud era AltusXXVIII是一种“平台即服务,可以轻松、经济地在云中处理大规模数据集。”它面向数据工程师,支持在 Spark、Hive on Spark、Hive on MapReduce 和 MapReduce 中创建的数据管道的提交和执行。数据工程师不需要担心创建集群,因为集群是按需自动创建的。您按小时、工作节点的数量以及您为集群选择的 AWS EC2 实例类型付费。 xxix 目前,Cloudera Altus 只在 AWS 上运行,但对 Azure 的支持即将推出。
如果您曾经使用 Cloudera Director 创建过临时集群来运行您的 ETL 管道,请将 Cloudera Altus 视为一个更加简化和自动化的版本。Cloudera Altus 在很多方面与亚马逊 EMR 相似。
亚马逊弹性映射减少(EMR)
Amazon EMR 是第一个允许用户使用 EC2 实例在云中动态运行临时集群的服务。EMR 允许用户访问其他亚马逊服务,并将数据存储在亚马逊数据存储上,如 DynamoDB 和 S3。 xxx EMR 享有显著的市场份额,目标是具有瞬时大数据工作负载的公司。
大数据
Databricks 是另一个基于云的大数据平台。由在加州大学伯克利分校 AMPLab 创建 Apache Spark 的同一团队于 2013 年创建。虽然除了 Spark (Hive 和 MapReduce),Amazon 和 Cloudera 还提供了其他数据处理框架,但 Databricks 主要专注于 Spark。Databricks 最近又筹集了 1.4 亿美元的风险资金,使该公司筹集的资金总额达到 2.47 亿美元, xxxi 使其有足够的资金与 Cloudera、亚马逊、MapR 和 Hortonworks 等其他大数据平台竞争。
摘要
云中的大数据部署可以帮助组织更快、更便宜、更有效地从数据中获取价值。然而,并非所有的平台都是平等的。有些比其他的功能更多。有些提供了更多的灵活性。有些比较好用。在为您的组织选择合适的大数据和云平台时,有很多选择。我希望我在本章提供的信息能帮助你做出正确的决定。
参考
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2017,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- Cloudera《面向 Azure 部署的 Cloudera 企业参考架构》,Cloudera,2017,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_azure.pdf
- Cloudera《Google 云平台部署的 Cloudera 企业参考架构》,Cloudera,2017,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_gcp.pdf
- 沃尔夫,达米安;“三方云战谁胜?谷歌 vs. Azure vs. AWS,《ReadWrite,2017,
https://readwrite.com/2017/02/20/wins-three-way-cloud-battle-google-vs-azure-vs-aws-dl1/
- RightScale《RIGHTSCALE 2017 年云状况报告揭示云采用趋势》,RIGHTSCALE,2017,
https://www.rightscale.com/press-releases/rightscale-2017-state-of-the-cloud-report-uncovers-cloud-adoption-trends
- RightScale《RIGHTSCALE 2017 年云状况报告揭示云采用趋势》,RIGHTSCALE,2017,
https://www.rightscale.com/press-releases/rightscale-2017-state-of-the-cloud-report-uncovers-cloud-adoption-trends
- 谷歌;《地图 AWS 服务到谷歌云平台产品》,谷歌,2017,
https://cloud.google.com/free/docs/map-aws-google-cloud-platform
- 谷歌;《谷歌云平台产品的地图 Azure 服务》,谷歌,2017,
https://cloud.google.com/free/docs/map-azure-google-cloud-platform
- RightScale《RIGHTSCALE 2017 年云状况报告揭示云采用趋势》,RIGHTSCALE,2017,
https://www.rightscale.com/press-releases/rightscale-2017-state-of-the-cloud-report-uncovers-cloud-adoption-trends
- Cloudera《Cloudera 企业在云端》,Cloudera,2016,
http://www.clouderaworldtokyo.com/session-download/B5-ClouderaUpdateNov2016.pdf
- Cloudera《Cloudera 企业在云端》,Cloudera,2016,
http://www.clouderaworldtokyo.com/session-download/B5-ClouderaUpdateNov2016.pdf
- Cloudera《Cloudera 企业在云端》,Cloudera,2016,
http://www.clouderaworldtokyo.com/session-download/B5-ClouderaUpdateNov2016.pdf
- Cloudera《Cloudera Director API 客户端》,Cloudera,2018,
https://github.com/cloudera/director-sdk
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2018,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2018,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- 亚马逊;《亚马逊虚拟私有云概述》,亚马逊,2018,
http://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/ExerciseOverview.html
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2018,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2018,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- Cloudera《为 Cloudera Director 创建 EC2 实例》,Cloudera,2018,
https://www.cloudera.com/documentation/director/1-5-x/topics/director_deployment_start_launcher.html
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2018,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- GitHub“S3BinaryCacheStore 最终是一致的”,GitHub,2018,
https://github.com/NixOS/nix/issues/1420
- Cloudera《如何在顺化启用 S3 云存储》,Cloudera,2018,
https://www.cloudera.com/documentation/enterprise/5-11-x/topics/hue_use_s3_enable.html
- Cloudera《S3Guard 简介:Apache Hadoop 的 S3 一致性》,Cloudera,2018,
https://blog.cloudera.com/blog/2017/08/introducing-s3guard-s3-consistency-for-apache-hadoop/
- Cloudera《面向 AWS 部署的 Cloudera 企业参考架构》,Cloudera,2018,
http://www.cloudera.com/documentation/other/reference-architecture/PDF/cloudera_ref_arch_aws.pdf
- Cloudera《Cloudera Director 用户指南》,Cloudera,2018,
https://www.cloudera.com/documentation/director/latest/PDF/cloudera-director.pdf
- Cloudera《Cloudera Director 用户指南》,Cloudera,2018,
https://www.cloudera.com/documentation/director/latest/PDF/cloudera-director.pdf
- Cloudera“酷度服务频繁宕机”,Cloudera,2018,
https://community.cloudera.com/t5/Interactive-Short-cycle-SQL/kudu-service-are-getting-down-frequently/m-p/56122
- Cloudera《Cloudera 奥特斯云 PaaS》,Cloudera,2018,
https://www.cloudera.com/products/altus.html
- ZDNet“Cloudera 推出 Altus,提供 Hadoop jobs 即服务”,Cloudera,2018,
http://www.zdnet.com/article/cloudera-introduces-altus-offering-hadoop-jobs-as-a-service/
- 亚马逊;《亚马逊电子病历》,Cloudera,2018,
https://aws.amazon.com/emr/
- 商业内幕;“成立四年的初创公司 Databricks 又筹集了 1.4 亿美元来解决 AI 中最难的问题,”BusinessInsider,2017,
https://www.businessinsider.com.au/databricks-ai-funding-valuation-2017-8?r=US&IR=T
十三、大数据案例研究
大数据颠覆了整个行业。金融服务、电信、运输、医疗保健、零售、保险、公用事业、能源和技术(仅举几例)等领域的创新用例彻底改变了组织管理、处理和分析数据的方式。在这一章中,我展示了来自六家创新公司的真实大数据案例研究:Navistar、Cerner、英国电信、Shopzilla、Thomson Reuters 和 Mastercard。关于案例研究的信息和细节参考自 Cloudera 的网站: www.Cloudera.com
。
纳威司达
纳威司达是商用公共汽车、卡车、国防车辆和发动机的领先制造商之一。
用例
Navistar 的使用案例包括预测性维护、远程诊断和路线优化。计划外的车辆维修和故障成本高且效率低。当服务中断发生时,影响可能是巨大的。车主通常每天每辆车损失 1000 美元的收入。基于里程的定期车辆维护是原始的,不能解决纳威司达日益严重的车辆维护问题。需要一种涉及实时数据监控和预测分析的更现代的方法。此外,Navistar 的传统数据仓库无法支持不断增长的实时、高容量远程信息处理和传感器数据。 i
As we collect more and more data, the analysis process of our legacy system becomes almost stagnant. —Ashish Bayas, Chief Technology Officer of Navistar
解决办法
Navistar 在 Cloudera Enterprise 上构建了一个支持物联网的远程诊断平台,该平台可从 30 多万辆联网车辆中获取 70 多种远程信息处理和传感器数据。第三方数据进一步丰富了数据,如气象、地理位置、交通、车辆使用、历史保修和零件库存信息。该平台使用机器学习来主动检测车辆问题并预测车辆维护需求。纳威司达还利用该平台帮助预防事故和促进道路安全。在 2014 年 9 月制造出原型后,纳威司达仅用了 6 个月就将该平台投入生产。
Navistar has completely changed the way we sell, maintain and serve our customer fleet by using the IoT devices, machine learning and predictive analysis supported by Cloudera. —Ashish Bayas, Chief Technology Officer of Navistar
技术和应用
有了 Cloudera,我们可以用以前不可能的方式和速度分析数据。我们可以在几个小时而不是几周内评估联网车辆的数十亿行数据,从而实现预测性维护。—纳威司达首席信息官 Terry Kline
- 数据平台:Cloudera 企业版
- 工作负载:分析数据库、数据科学和工程
- 组件:阿帕奇 Spark,阿帕奇 Impala(孵化中),阿帕奇 Kafka
- BI 和分析工具:信息构建器 WebFOCUS 文档内分析、Microsoft Power BI、Microsoft SQL Server Analytic Services 模型、Microsoft SQL Server Reporting Services、SAS 企业指南、Tableau 桌面、Tableau 服务器
- 数据科学工具:Python、R、Scala
- ETL 工具:IBM InfoSphere DataStage
结果
纳威司达现在能够为其客户提供主动车辆诊断和实时监控服务。Cloudera Enterprise 使 Navistar 能够构建一个高度可扩展的实时物联网平台,从多个数据源中获取有价值的见解。该平台帮助纳威司达客户减少了高达 40%的维护成本,而车辆问题的早期检测也减少了高达 40%的车辆停机时间。结果是非常积极的。使用实时大数据来制定业务决策和部署主动维护已经开辟了新的收入来源,并为客户带来了额外的价值。—纳威司达首席执行官 Troy Clarke
转角(corner)
Cerner 是医疗保健 IT 领域的领导者,为数以千计的机构提供解决方案,如医院、流动办公室和医生办公室。
用例
Cerner 的目标是将全球医疗保健数据整合到一个通用平台中,以降低成本、提高医疗保健服务的效率并改善患者的疗效。该项目需要应对几个挑战:数据必须安全、可审计且易于探索。我们的愿景是将所有这些信息整合到一个公共平台上,然后理解它们——事实证明,这实际上是一个非常具有挑战性的问题。ii—大卫·爱德华兹,Cerner 副总裁兼研究员
解决办法
Cerner 通过实现由 Cloudera Enterprise 支持的人口健康综合视图实现了其目标。大数据平台目前存储 2pb 的数据,从多个来源接收数据,如电子病历(EMR)、HL7 源、医疗信息交换信息、索赔数据以及来自不同的几个专有和客户拥有的数据源的自定义摘要。Cerner 使用 Apache Kafka 将实时数据导入 HBase 或使用 Apache Storm 的 HDFS。Cerner 正在探索用其他实时组件来扩充其平台,如 Apache Flume、Apache Samza 和 Apache Spark。 iii
数据从 Cloudera 平台传输到运行 HP Vertica 的 Cerner 数据集市,支持 SAS 和 SAP Business Objects 用户进行报告和分析。Cerner 利用这些数据来帮助他们确定人群中的风险和改进机会。Cerner 还利用 Cloudera Enterprise 上的 SAS 进行数据科学计划,例如构建预测模型以避免医院再入院。Cerner 团队正在评估 Cloudera Search (Solr)和 Impala,以允许整个组织的数百名用户直接访问存储在 Cloudera Enterprise 中的数据。安全性对 Cerner 来说极其重要,选择 Cloudera(市场上最安全的 Hadoop 发行版之一)作为他们的大数据平台,让他们对患者数据的安全性和完全保护充满信心。我们能够取得更好的结果,无论是与患者相关的还是经济上的,这比我们单独研究拼图的碎片要好得多。这一切都归结于将一切整合在一起,并能够为任何需求提取价值。企业数据中心拓扑让我们可以做到这一点。—Ryan Brush,Cerner 高级总监兼杰出工程师
技术和应用
- Hadoop 平台:Cloudera 企业版,数据中心版
- 正在使用的组件:Apache Crunch、Apache HBase、Apache Hive、Apache Kafka、Apache Oozie、Apache Storm、Cloudera Manager、MapReduce
- 服务器:惠普
- 数据集市:HP Vertica
- BI 和分析工具:SAP 业务对象、SAS
结果
通过整合来自多个来源的医疗保健数据,Cerner 能够更全面地了解任何患者、趋势或状况,帮助他们实现更好的患者相关和财务成果。例如,大数据平台赋予了他们预测患者再次入院概率的能力。利用相同的平台,Cerner 还能够准确预测患者败血症的早期发作。我们的客户报告说,新的系统能够比以前更有效地预测病人是否有败血症,从而实际上挽救了数百人的生命。—Ryan Brush,Cerner 高级总监兼杰出工程师
英国电信
BT 是英国领先的电信公司之一,在 180 个国家拥有超过 1800 万客户和业务。
用例
像每个组织一样,英国电信需要向其业务部门提供最相关和最新的信息。他们遗留的 ETL 系统建立在传统的关系数据库上,无法扩展,几乎无法及时处理近 10 亿行数据。他们的 ETL 工作需要超过 24 小时来处理 24 小时的数据。其业务部门不得不满足于使用陈旧的数据。 iv
We have a proposal to transplant the system to a new relational database. But when we sat down, our discussion turned to Hadoop. We realize that we basically have a data speed problem. We must process data faster and increase the amount of data we can receive, which Hadoop is good at. —Phillip Radley, Chief Data Architect of BT
解决办法
BT 实现了一个 Cloudera 企业集群,并用 MapReduce 代码替换了他们的批处理 ETL 作业。该平台不仅解决了英国电信的 ETL 问题,还解决了其他数据管理挑战,帮助英国电信加快了新产品的交付。
由于数据被整合到一个经济高效的基础设施中,它使 BT 能够获得其多个业务部门数据的统一 360 度视图。该平台还将使英国电信能够将数据存档 1 年至 10 年以上,并实现关键任务数据管理和分析用例。
很快,该公司计划使用 Apache Spark 来结合批处理、流和交互式分析,Impala 使商业智能(BI)团队能够对数据执行 SQL 查询。
技术和应用
- Hadoop 平台:Cloudera 企业版,数据中心版
- Hadoop 组件:Apache Hive、Apache Pig、Apache Sentry、Apache Spark、Cloudera Manager、Cloudera Navigator、Impala
结果
将 ETL 和数据处理转移到 Hadoop 使 BT 能够提高数据速度,在业务用户需要时为他们提供所需的信息。
We can increase the data speed by 15 times. We spend one third of the time processing five times the data. Business sponsors don’t know that we moved to Hadoop, and they don’t care. What they know is that they are now processing today’s data instead of yesterday’s data. —Phillip Radley, Chief Data Architect of BT
- 处理 5 倍多的客户数据
- 数据速度提高了 15 倍
- 一年内实现 200–250%的投资回报率
- 此举也为英国电信节省了大量成本
Shopzilla(连接性)
Shopzilla 是一家领先的电子商务公司,总部位于加利福尼亚州洛杉矶,拥有 1 亿独立访客,与数万家零售商的 1 亿种产品相关联。 v
用例
Shopzilla 现有一个 500 TB 的 Oracle 企业数据仓库,该数据仓库每天增长 5tb。由于每天处理 1 亿件产品所需的数据量和处理量,Shopzilla 的传统数据仓库已经超出了其容量,无法进一步扩展,每天需要数小时来处理数据。
解决办法
Shopzilla 通过使用 Cloudera 企业集群补充其 Oracle 企业数据仓库,实现了一个混合环境。低价值的 ETL 和数据处理由 CDH 集群处理。然后,使用 Apache Sqoop 将聚合的数据传输到 Oracle EDW,让它自由地完成设计任务,为业务用户提供分析和报告。Shopzilla 计划在不久的将来使用阿帕奇 Impala 和阿帕奇 Spark。VICDH 集群用于支持在线价格比较服务、SEO、SEM、销售、观众评分和数据科学工作负载。
Scientists usually don’t need to consume data warehouse resources now, because all the latest data can be obtained in Cloudera through R or Mahout. We need huge processing power, scalability, complete redundancy and large-capacity storage, all of which require affordable prices. Our Cloudera platform provides all of these and even more. -—Rony Sawdayi, vice president of Connexity Engineering, we can answer complex questions, such as users’ behaviors on specific websites and what advertisements are most effective, and perform other complex data mining queries. It improves Connexity’s ability to provide relevant results to users, which is the core tenet of our business. Param JIT Singh, Connexity Data Director
技术和应用
- 数据平台:Cloudera 企业版
- Hadoop 组件:Apache HBase、Apache Hive、Apache Mahout、Apache Pig、Apache Spark、Apache Sqoop、Cloudera Impala、Cloudera Manager
- 服务器:戴尔
- EDW: Oracle
- BI 和分析工具:Oracle BI 企业版(OBIEE);稀有
结果
借助 Cloudera Enterprise,Connexity 现在可以在几个小时内处理来自零售商的 15,000 个源和 1 亿个产品的数据,而不是几天。一个新的架构正在测试中,将进一步减少处理时间到分钟。更快的性能还使 Connexity 每天能够对 1000 万个关键词进行评分和竞价, vii 使其搜索引擎营销活动能够扩大规模,达到 1 亿独立访客,并收集数十亿个数据点,可用于高度有针对性的营销和创新数据分析。
Our traditional system provides excellent analysis and reporting performance, but it doesn’t have the bandwidth of intensive data conversion that we need, and it takes several hours to process 100 million products every day. We need huge processing power, scalability, complete redundancy and mass storage at an affordable price. Our Cloudera platform provides all these functions and complements our current data warehouse system. We can reduce the delay from days to hours or even minutes. Param JIT Singh, Connexity Data Director
汤森路透
汤森路透是一家领先的大众媒体和信息公司,为专业人士提供值得信赖的信息。
用例
汤森路透的目标是在 40 毫秒内对推文进行分类,并区分假新闻和观点与真实新闻。 viii
解决办法
汤森路透(Thomson Reuters)转向机器学习和高级分析来构建路透 Tracer,这是一个“训练中的机器人记者”,路透 Tracer 每天分析 1300 万条推文,处理事件以确定推文是真实新闻还是观点或假新闻。 ix 汤森路透使用 Cloudera Enterprise 和 Apache Spark 来提供实现路透 Tracer 所需的机器学习能力。Spark 的快速内存功能使 Reuter Tracer 能够在 40 毫秒内处理数百万条推文并从中获取意义。
In order to help assess the authenticity of an event, we rely on hundreds of features, and train the platform to check the history and diversity of sources, languages used in tweets, communication modes, etc., just like investigative journalists. Sameena Shah, research director and chief scientist of Reuters Tracer Cloudera, provided us with the most advanced technology, helping us to analyze data, synthesize text and extract value and meaning from data, so as to provide the insights needed by customers. The whole application is very fast. It takes less than 40 milliseconds to capture and detect events. —— Townsend Reuters
公司研究&发展部主管 Khalid Al-Kofahi
技术和应用
- 数据平台:Cloudera 企业版
- 工作负载:数据科学和工程
- Hadoop 组件:Apache Spark
结果
我们致力于为金融、法律、税务和会计行业的专业客户以及领先的新闻机构之一路透社构建基于信息的解决方案。有了 Reuters Tracer,当市场波动事件发生时,我们可以毫不延迟地向客户发出警报。我们有很多这样的例子,路透社的 Tracer 先于主要新闻机构发现了突破性的事件。此外,由于我们帮助记者发现事件,他们可以专注于更高附加值的工作,而不仅仅是报道事件。—汤森路透&发展部企业研究主管 Khalid Al-kofa hi
- 在主要新闻媒体之前披露有价值的新闻事件
- 在 40 毫秒内将 1300 万条推文中有新闻价值的推文与谣言和假新闻区分开来
万事达信用卡
万事达卡是全球支付领域的领导者,连接着全球数十亿消费者和数百万家组织。
用例
万事达卡建立了一个名为 MATCH (Mastercard Alert,控制高风险商户)的反欺诈系统,允许用户搜索万事达卡的专有数据库,其中包含数以亿计的欺诈业务。随着时间的推移,MATCH 基于语音的查找功能显然无法满足 MATCH 用户日益增长的需求。此外,为 MATCH 提供支持的关系数据库管理系统(RDBMS)跟不上不断增长的数据量。 x
解决办法
万事达卡实现了基于 Cloudera Search(由 Apache Solr 提供支持)的新反欺诈解决方案,cloud era Search 是 CDH 的一个集成部分,提供全文搜索和分面导航。Cloudera Search 提供了更高的可扩展性、更丰富的搜索功能和更好的搜索准确性。新的解决方案可以使用几种搜索算法和新的评分功能,这些功能在以前的传统 RDBMS 上很难实现。新平台还将允许万事达卡在机会出现时增加更多数据集。
技术和应用
- Apache Hadoop 平台:Cloudera 企业版,数据中心版
- Apache Hadoop 组件:Apache Solr、Cloudera Search、Hue
结果
基于 Cloudera 的新解决方案正在帮助万事达卡轻松识别欺诈商户,以降低风险。万事达卡用户体验到搜索准确性的显著提高,5X 每年支持的搜索数量增加,每位客户每天的搜索量增加了 25 倍。这使得万事达卡能够扩展到新的市场,从而增加收入。
摘要
我的目标是提供灵感,鼓励您使用有效且成熟的方法开始自己的大数据用例。我希望这一章对你有用。
参考
- Cloudera“纳威司达:将联网汽车的维护成本降低 30%以上”,Cloudera,2018,
https://www.cloudera.com/more/customers/navistar.html
- Cloudera“Cerner:利用预测患者状况的大数据分析拯救生命”,Cloudera,2018,
https://www.cloudera.com/more/customers/cerner.html
- Cloudera“Cloudera Cerner 案例研究:利用预测患者状况的大数据分析拯救生命”,Cloudera,2018,
https://www.cloudera.com/content/dam/www/marketing/resources/case-studies/cloudera-cerner-casestudy.pdf.landing.html
https://www.cloudera.com/more/customers/bt.html
https://www.cloudera.com/more/customers/connexity.html
https://globenewswire.com/news-release/2014/08/05/656022/10092934/en/Shopzilla-Implements-a-Cloudera-Enterprise-Data-Hub-to-Enhance-its-EDW-and-Capture-Unparalleled-Retail-Insights.html
https://www.cloudera.com/content/dam/www/marketing/resources/case-studies/connexity-complements-the-edw-with-cloudera-to-improve-retail-insights.pdf.landing.html
https://www.cloudera.com/content/dam/www/marketing/resources/case-studies/Cloudera_Thomson_Reuters_Case_Study.pdf.landing.html
https://www.cloudera.com/more/customers/thomson-reuters.html
https://www.cloudera.com/more/customers/mastercard.html