Kyligence AI 服务 - 让大模型完成准确、可靠的数值计算和回答! 立即了解更多
AI 数智助理
Kyligence Zen Kyligence Zen
Kyligence Enterprise Kyligence Enterprise
Kyligence Turbo Kyligence Turbo
指标平台解决方案
OLAP 解决方案
行业解决方案
客户总览
金融
零售
制造
医药
其他
云平台
BI
寻求合作
资源
Kyligence Enterprise
Kyligence Zen
培训
Apache Kylin
Byzer
Gluten
博客
关于
市场活动
随着云计算和大数据的兴起,越来越多的数据在云端产生和消费,直接在云端对大数据进行分析的需求也越来越多。Kyligence Analytics Platform(KAP)大数据智能分析平台能够满足用户的此类需求,支持在主流的云平台上提供大数据的分析能力。本文简要介绍了 KAP 及 Azure 上相关的技术,并总结了在 Azure 上使用 KAP 的一些经验。
——Kyligence 高级云计算工程师刘凯歌
Kyligence Analytics Platform(KAP)大数据智能分析平台[1]是基于Apache Kylin构建的企业级数据仓库产品,能够在超大规模数据集上提供亚秒级分析能力,为业务用户、分析师及工程师提供简便、快捷的大数据分析服务。在继承Apache Kylin的高性能查询、易用建模,多协议支持、非侵入式架构等突出优点的同时,KAP在企业用户所关注的实施效率、安全可控、性能优化、自助式敏捷BI、系统监控等方面进行了全方位的创新,被誉为目前最为成熟的OLAP on Hadoop产品。
Azure[2]是微软的公有云平台,旨在向用户提供一个开放、灵活和可靠的企业级云计算平台。提供了各个方面极为广泛的服务,如计算、网络、存储、数据库、各类编程语言框架、大数据分析、机器学习等等。在本文中,将会侧重介绍KAP在Azure上所使用到的HDInsight[3]、Blob存储[4]以及虚拟网络服务[5]。
通过在Azure上提供KAP的部署和服务,可以帮助已经在Azure上开展业务的企业对其数据进行分析,加速企业发展和助力决策制定。企业数据无需在本地和云端反复流转,在云端产生同时在云端分析,快速便捷。同时释放了企业的IT运维压力,更多的将精力集中在核心产品上。
KAP和Azure
KAP构建于Hadoop之上,兼容开源Hadoop及主流商业Hadoop发行版,可运行在Apache Hadoop,Cloudera CDH,Hortonworks HDP,Microsoft HDInsight,AWS EMR等发行版和平台。图1左侧所示为KAP在本地部署的情况,主要依赖的组件包括Hadoop、Hive、HBase等。 如图1右侧所示,与本地部署不同的是,KAP在Azure上选择使用HDInsight作为底层依赖,同时利用Azure Blob存储和虚拟网络等云端功能。下面将对为何选择使用这些技术做出解释。
为什么使用HDInsight?
HDInsight是一种由云技术驱动的 Hadoop 发行版。这意味着 HDInsight 能够处理任何数量的数据,可按需将数据容量从数 TB 扩展至数 PB 级别。支持快速创建任意数量的节点,并只对实际使用的计算和存储收取费用。
在Azure上部署Hadoop集群,有两种选择:1)创建虚拟机,自行在虚拟机上部署所需的Hadoop发行版。2)使用HDInsight。相比较在虚拟机上自行安装Hadoop,使用HDInsight有如下优劣:
优势:
部署简单快速;
默认使用Azure Blob存储作为HDFS文件系统,无需考虑磁盘的运维。使用虚拟机,需要规划挂载多大的磁盘作为存储,容量不够时还需要处理扩容的问题; 支持动态伸缩;
由Azure提供99.9%SLA。
劣势:
Hadoop发行版为HDP,无其它可选;
默认安装时不可定制(安装后可以通过Ambari进行调整)。
为了更好的利用云计算的各项功能,我们建议直接使用HDInsight,而不是使用虚拟机手动部署Hadoop。
为什么使用Azure Blob存储?
Azure Blob 存储是一种稳健、通用的存储解决方案,它与 HDInsight 无缝集成。 将Azure Blob存储作为HDFS的底层文件系统,可以直接访问云端存储的数据,并将计算结果直接写入云端。
通过在 Azure 区域的存储帐户资源附近创建计算群集,使计算节点能够通过高速网络非常高效地访问 Azure Blob 存储中的数据。这种方式将计算和存储解绑,因此只在需要计算时才创建计算节点,其余时间只保留存储,从而节约了计算成本。
在 Azure Blob 存储而非 HDFS 中存储数据有几个好处:
数据重用和共享:
若HDFS 中的数据位于计算群集内,那么仅有权访问计算群集的应用程序才能通过 HDFS API 使用数据。而Azure Blob 存储中的数据可通过 HDFS API 或 Blob 存储 REST API 访问,因此,可使用大量应用程序(包括其他 HDInsight 群集)和工具来生成和使用此类数据。
数据存档:
通过在 Azure Blob 存储中存储数据,可以安全地删除用于计算的 HDInsight 群集而不会丢失用户数据。
数据存储成本:
与在 Azure Blob 存储中存储数据相比,在 DFS 中长期存储数据的成本更高,因为计算群集的成本高于Azure Blob 存储容器的成本。此外,由于数据无需在每次生成计算群集时重新加载,也节省了数据加载成本。
弹性向外扩展:
尽管 HDFS 提供了向外扩展文件系统,但缩放的容量将由创建的节点数量决定,更改缩放的过程也会更复杂。
异地复制:
可对 Azure Blob 存储容器进行异地复制。该功能可提供地理恢复和数据冗余功能,保障数据的安全。(但针对异地复制位置的故障转移将大大影响性能,并且会产生额外成本。 因此,建议仅在数据的价值值得你支付额外成本时才选择适当的地理复制。)
为什么使用Azure 虚拟网络?
Azure 虚拟网络 (VNet) 是网络在云中的表示形式。它是一种对网络进行的逻辑隔离。用户可以完全控制该网络中的 IP 地址池、DNS 设置、安全策略和路由表。还可以进一步将 VNet 细分成各个子网,并在子网内启动 Azure IaaS 虚拟机 (VM) 和云服务(PaaS 角色实例)。此外,也可以将多个虚拟网络连通,甚至连接到本地网络。HDInsight将所有节点部署在同一个VNet中,这样集群内部的通信,包括数据的传输都是在该内网中进行。虚拟网络外的节点无法与内部进行通信,因此集群的数据不会被窃取,从而保障了集群内的通信快速、安全和可靠。
KAP在Azure上的使用优化
云上环境与本地有所不同,KAP的使用也有一些相应需要注意的地方,下面总结了一些在Azure上使用KAP的经验。
KAP的部署:
KAP依赖于Hadoop、Hive和HBase,因此部署KAP的节点应当能够与HDInsight集群中的各个组件正常通信,且配置正确。可以通过在HDInsight相同的虚拟网络中创建虚拟机,然后手动安装或者复制对应版本的Hadoop、Hive和HBase到该机器中。这样虽然可行,但是却无法使用HDInsight集成的Ambari对KAP节点进行管理,这导致所有后续的配置更改也无法自动更新到KAP节点。熟悉Ambari的朋友可能已经想到,可以直接通过Ambari添加Client节点作为KAP的安装节点,这样可以保证新节点能够被Ambari统一管理。但是这个方法也是不可行的,因为HDInsight隐藏了部署新节点需要的软件源。最佳的方案是使用HDInsight的边缘节点(Edge Node)作为部署KAP的环境。边缘节点包含连通HDInsight集群的所有信息,各个组件也自动配置妥当,同时会被自动注册到Ambari服务器,能够被Ambari统一管理。创建新的边缘节点需要使用Azure Resource Manager方式部署,可以选择使用空边缘节点模版[6],也可以选择使用Kyligence公司提供的KAP模版。
加载数据:
KAP支持Hive和Kafka作为构建Cube的数据源,通常情况下我们需要将准备好的数据上传到集群中,然后在Hive中建表作为后续构建Cube的数据源。这对于那些数据原本就在云端的用户来说,如果分析集群在本地,或使用虚拟机磁盘作为HDFS存储,就需要先把本就在云端的数据下载到硬盘上,然后导入Hive中,这样既浪费了数据转移的时间,又带来了额外的传输成本。通过使用Azure Blob存储,将HDInsight集群和KAP节点部署在原数据相同的存储账号下,可以直接从Azure Blob存储在Hive中建表,KAP能够直接将其作为数据源进行Cube的构建。同样的,构建出来的Cube也可以直接存储到Azure Blob中。
(使用Azure Blob数据直接创建Hive表)
利用本地文件系统加速构建:
虽然使用Azure Blob存储带来了诸多便利,但是作为网络存储,性能上终归是要比硬盘读写要低。比如Azure Blob不能有效利用HDFS的缓存机制。在KAP构建Cube的过程中,存在一些中间结果,比如Hive的临时表、MapReduce任务的输出文件等。KAP支持将这些结果写在本地的文件系统中,提高IO效率,加速Cube的构建。
具体配置方式如下:
我们在相同的数据集上,对是否使用本地文件系统加速进行的对比测试,结果如下:
集群动态伸缩:
HDInsight提供的集群伸缩功能可以和KAP完美的结合起来。KAP对集群的使用主要分为两大部分:构建Cube和查询。Cube的构建(流式构建除外)通常是定期的任务,且需要较大的集群资源,而查询通常是不定时的,对资源没有过高的要求。利用KAP的这个特性,可以结合HDInsight的伸缩功能,在构建Cube时扩大集群规模,构建完毕后将集群收缩至能够满足查询效率的较小规模。这样极大的提高了资源利用率,降低了成本。
集群的快速删除与恢复:
经常会遇到这样一种场景,构建出来的Cube并不需要长期持续不断的被查询,可能只在一周的某一天或一个月的某几天需要使用。另一种类似的场景是,有些测试集群只在某些测试场景下需要,测试完毕后只需要保存构建出的Cube,集群并不需要保留。通过将KAP与HDInsight结合使用,我们可以实现构建完毕后完全删除集群,并在需要时恢复,所有构建的Cube不会丢失。
由于HDInsight不会保留Hive Metadata Store的数据库,所以在创建HDInsight时要指定外部的数据库,替换默认部署的数据库。删除时需要保留该数据库,以便在恢复后重新将Hive Metadata Store的数据库替换回来。KAP的所有必要数据无需手动备份及恢复,只需将定制的配置文件保留用于恢复即可。
本文对在Azure使用KAP所用到的技术作了简要介绍,并总结了在Azure上使用KAP的一些实践方法,利用这些方法能够降低用户的成本,提高工作效率,更好的利用KAP在云端进行大数据分析。希望能给读者带来一定的帮助。
参考资料 1. https://cn.kyligence.io/kyligence-enterprise-zh/ 2. https://www.azure.cn 3. https://azure.microsoft.com/zh-cn/services/hdinsight/ 4. https://azure.microsoft.com/en-us/services/storage/blobs/ 5. https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview 6. https://docs.microsoft.com/zh-cn/azure/hdinsight/hdinsight-apps-use-edge-node
近年来,随着商业环境的竞争日益激烈,企业对于实时数据服务的需求急剧增加。Kyligence 在服务众多客户的过
数据要素在银行各业务领域和流程中发挥着至关重要的作用,面对激烈的市场竞争和客户需求,银行越来越注重从数据管理中
作为一名消费者,炎热的夏天我们会走进一家便利店,从冰柜中选出一瓶汽水;下午工作有点累了,我们会在公司的自动贩卖
2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿(Luke)分享了对 AI 与数据行业的一些战
房地产行业是我国国民经济中的重要支柱产业之一,在房地产市场供求关系发生重大变化的当下,房企面临多重挑战。Kyl
今年年初,Kyligence 高级副总裁兼合伙人葛双寅(Silas Ge)受邀在阿斯利康“跃行致远三十周年年会
2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿在公司内部的飞书订阅号发表了多篇 Rethin
400 8658 757
工作日:10:00 - 18:00
已有账号? 点此登陆
预约演示,您将获得
完整的产品体验
从数据导入、建模到分析的全流程操作演示。
行业专家解惑
与资深行业专家的交流机会,解答您的个性化问题。
请填写真实信息,我们会在 1-2 个工作日内电话与您联系。
全行业落地场景演示
涵盖金融、零售、餐饮、医药、制造等多个行业,最贴合您的业务需求与场景。
Data + AI 应用落地咨询
与资深技术专家深入交流,助您的企业快速落地 AI 场景应用。
立即预约,您将获得
精准数据计算能力:
接入高精度数值计算大模型服务,为您的企业级AI应用提供强大支持。
个性化业务场景解决方案:
量身定制的计算模型和数据分析服务,切实贴合您的业务需求和应用场景。
Data + AI 落地应用咨询:
与资深专家深入探讨数据和 AI 如何帮助您的企业加速实现应用落地,构建更智能的数据驱动未来。
申请体验,您将获得
体验数据处理性能 2x 加速
同等规模资源、同等量级数据、同一套数据处理逻辑,处理耗时下降一半
专家支持
试用部署、生成数据、性能对比各操作环节在线支持