数据湖探索 DLI-数据湖探索简介:功能介绍
功能介绍
DLI 用户可以通过可视化界面、Restful API、JDBC、Beeline等多种接入方式对云上CloudTable、RDS和DWS等异构数据源进行查询分析,数据格式兼容 CS V、JSON、Parquet和ORC主流数据格式。
- 三大基本功能
- SQL作业支持SQL查询功能:可为用户提供标准的SQL语句。具体内容请参考《 数据湖探索 SQL语法参考》。
- Flink作业支持Flink SQL在线分析功能:支持Window、Join等聚合函数,用SQL表达业务逻辑,简便快捷实现业务。具体内容请参考Flink OpenSource SQL语法参考。
- Spark作业提供全托管式Spark计算特性:用户可通过交互式会话(session)和批处理(batch)方式提交计算任务,在全托管Spark队列上进行数据分析。具体内容请参考《 数据湖 探索API参考》。
- 多数据源分析:
- Spark跨源连接:可通过DLI访问CloudTable,DWS,RDS和 CSS 等数据源。具体内容请参考《数据湖探索用户指南》。
- Flink跨源支持与多种云服务连通,形成丰富的流生态圈。数据湖探索的流生态分为云服务生态和开源生态:
- 云服务生态:数据湖探索在Flink SQL中支持与其他服务的连通。用户可以直接使用SQL从这些服务中读写数据。如DIS、OBS、CloudTable、 MRS 、RDS、 SMN 、DCS等。
- 开源生态:通过增强型跨源连接建立与其他VPC的网络连接后,用户可以在数据湖探索的租户授权的队列中访问所有Flink和Spark支持的数据源与输出源,如Kafka、Hbase、ElasticSearch等。
具体内容请参见《数据湖探索开发指南》。
- 存算分离
用户将数据存储到OBS后,DLI可以直接和OBS对接进行数据分析。存算分离的架构下,使得存储资源和计算资源可以分开申请和计费,降低了成本并提高了资源利用率。
存算分离场景下,DLI支持OBS在创建桶时数据冗余策略选择单AZ或者多AZ存储,两种存储策略区别如下:
- 选择多AZ存储,数据将冗余存储至多个AZ中,可靠性更高。选择多AZ存储的桶,数据将存储在同一区域的多个不同AZ。当某个AZ不可用时,仍然能够从其他AZ正常访问数据,适用于对可靠性要求较高的数据存储场景。建议优选使用多AZ存储的策略。
- 选择单AZ存储,数据仅存储在单个AZ中,但相比多AZ更加便宜。收费详情请参见OBS产品价格详情。
- 弹性资源池
弹性资源池后端采用CCE集群的架构,支持异构,对资源进行统一的管理和调度。详细内容可以参考用户指南的弹性资源池。
图1 弹性资源池架构图弹性资源池的优势主要体现在以下几个方面:
- 统一资源管理
- 统一管理内部多集群和调度作业,规模可以到百万核级别。
- 多AZ部署,支持跨AZ高可用。
- 租户资源隔离
不同队列之间资源隔离,减少队列之间的相互影响。
- 分时按需弹性
- 分钟级别扩缩容,从容应对流量洪峰和资源诉求。
- 支持分时设置队列优先级和配额,提高资源利用率。
- 作业级资源隔离(暂未实现,后续版本支持)
支持独立Spark实例运行SQL作业,减少作业间相互影响。
- 自动弹性(暂未实现,后续版本支持)
基于队列负载和优先级实时自动更新队列配额。
弹性资源池解决方案主要解决了以下问题和挑战。
维度
原有队列,无弹性资源池时
弹性资源池
扩容时长
手工扩容时间长,扩容时长在分钟级别
不需要手工干预,秒级动态扩容。
资源利用率
不同队列之间资源不能共享。
例如:队列1当前还剩余10CU资源,队列2当前负载高需要扩容时,队列2不能使用队列1中的资源,只能单独对队列1进行扩容。
添加到同一个弹性资源池的多个队列,CU资源可以共享,达到资源的合理利用。
配置跨源时,必须为每个队列分配不重合的网段,占用大量VPC网段。
多队列通过弹性资源池统一进行网段划分,减少跨源配置的复杂度。
资源调配
多个队列同时扩容时不能设置优先级,在资源不够时,会导致部分队列扩容申请失败。
您可以根据当前业务波峰和波谷时间段,设置各队列在弹性资源池中的优先级,保证资源的合理调配。
- 统一资源管理
- BI工具
对接永洪BI:与永洪BI对接实现数据分析。具体内容请参考《数据湖探索开发指南》。