功能介绍
DLI用户可以通过可视化界面、Restful API、JDBC、Beeline等多种接入方式对云上RDS和DWS等异构数据源进行查询分析,数据格式兼容CSV、JSON、Parquet和ORC主流数据格式。
三大基本功能
- SQL作业支持SQL查询功能:可为用户提供标准的SQL语句。
- Flink作业支持Flink SQL在线分析功能:支持Window、Join等聚合函数、地理函数、CEP函数等,用SQL表达业务逻辑,简便快捷实现业务。
- Spark作业提供全托管式Spark计算特性:用户可通过交互式会话(session)和批处理(batch)方式提交计算任务,在全托管Spark队列上进行数据分析。
多数据源分析
- Spark跨源连接:可通过DLI访问DWS,RDS和CSS等数据源。
- Flink跨源支持与多种云服务连通,形成丰富的流生态圈。数据湖探索的流生态分为云服务生态和开源生态:
- 云服务生态:数据湖探索在Flink SQL中支持与其他服务的连通。用户可以直接使用SQL从这些服务中读写数据。
- 开源生态:通过增强型跨源连接建立与其他VPC的网络连接后,用户可以在数据湖探索的租户独享队列中访问所有Flink和Spark支持的数据源与输出源,如Kafka、Hbase、ElasticSearch等。
存算分离
用户将数据存储到OBS后,DLI可以直接和OBS对接进行数据分析。存算分离的架构下,使得存储资源和计算资源可以分开申请和计费,降低了成本并提高了资源利用率。
存算分离场景下,DLI支持OBS在创建桶时数据冗余策略选择单AZ或者多AZ存储,两种存储策略区别如下:
- 选择多AZ存储,数据将冗余存储至多个AZ中,可靠性更高。选择多AZ存储的桶,数据将存储在同一区域的多个不同AZ。当某个AZ不可用时,仍然能够从其他AZ正常访问数据,适用于对可靠性要求较高的数据存储场景。建议优选使用多AZ存储的策略。
- 选择单AZ存储,数据仅存储在单个AZ中,但相比多AZ更加便宜。
DLI核心引擎:Spark+Flink
- Spark是用于大规模数据处理的统一分析引擎,聚焦于查询计算分析。DLI在开源Spark基础上进行了大量的性能优化与服务化改造,不仅兼容Apache Spark生态和接口,性能较开源提升了2.5倍,在小时级即可实现EB级数据查询分析。
- Flink是一款分布式的计算引擎,可以用来做批处理,即处理静态的数据集、历史的数据集;也可以用来做流处理,即实时地处理一些实时数据流,实时地产生数据的结果。DLI在开源Flink基础上进行了特性增强和安全增强,提供了数据处理所必须的Stream SQL特性。
DLI服务架构:Serverless
DLI是无服务器化的大数据查询分析服务,其优势在于:
- 自动扩缩容:根据业务负载,对计算资源进行预估和自动扩缩容。
如何访问DLI
服务平台提供了Web化的服务管理平台,既可以通过管理控制台和基于HTTPS请求的API(Application programming interface)管理方式来访问DLI,又可以通过JDBC客户端连接DLI服务端。
- 管理控制台方式
提交SQL作业、Spark作业或Flink作业,均可以使用管理控制台方式访问DLI服务。
- API方式
如果用户需要将云平台上的DLI服务集成到第三方系统,用于二次开发,可以使用API方式访问DLI服务。