摘要:全托管 Serverless 服务 DLI 就像是咱们日常应用的滴滴共享打车,咱们不再须要为购买和颐养私家车而收入固定成本。
1. 趋势和挑战
1.1. 趋势
随着云化技术越来越成熟,企业开始逐渐上云,其中辅助决策的数据分析业务也产生了如下几个方面的变动:
从 结构化 向多元化 转变:随着数据采集技术的进步和存储设备的提价,半结构化、非结构化数据被越来越多的采集和存储,很多要害信息,如身份证(图片)中的个人信息,也须要被参加到日常的数据分析中
从 单数据源 向多数据源 转变:除了读取存储业务数据信息的关系型数据库中的数据,存储全量数据的对象存储服务、存储多维数据的数据仓库服务等越来越多的数据源之间须要做一些联结查问
从 统计分析 向预测剖析 转变:BI/ 报表等是数据分析最常见的利用场景,这些场景更多的是去总结过来。随着 AI 技术的遍及,如何从历史数据中预测将来的趋势成了数据分析师须要思考的内容
1.2. 挑战
1.1.1. 多元化
半结构化数据次要包含 CSV、XML、JSON 等,非构造数据次要包含图像、音频、视频等,这些数据无奈像传统结构化数据一样间接用数据库进行剖析,须要按肯定规定将其转化为结构化数据能力进行进一步剖析。如身份证(图片),须要先通过图片辨认提取身份证中的信息,再进行剖析,整个过程比拟繁琐。
1.1.2. 多数据源
为了实现不同特色的数据最高效地存储和剖析,数据被扩散寄存在不同的存储服务中,不同的存储服务之间的数据造成了数据孤岛,如果想要做一些联结查问,须要在不同存储服务之间拷贝数据,不仅容易造成冗余存储,而且数据同步也是一个问题。
1.1.3. 预测剖析
如果想要进行预测剖析,势必须要用到 AI 机器学习算法。目前比拟风行的开源机器学习框架次要有 TensorFlow、PyTorch、Keras 等。如果用户想在服务中间接调用 AI 框架,就须要提前手动登录机器,一台一台进行装置。如果后续删除 / 扩容集群,又须要从新进行装置。
2. 数据湖解决方案
2.1. 解决方案介绍
华为云数据湖摸索(Data Lake Insight)DLI 服务诞生之初,就是为了帮忙企业以轻量级地形式疾速解决这些挑战。这里说的轻量级,次要指两方面:
资源轻量级:DLI 提供共享资源和独享资源两种资源,共享资源能够按需取用,不须要长期持有,反对按扫描量计费和按 CU 时(1CU = 1Core4GB)计费
开发轻量级:DLI 主打会 SQL 就会大数据分析,批处理引擎 Spark 和流解决引擎 Flink 均提供 SQL 能力,用户日常 80% 以上的业务开发都能够间接应用 SQL 实现
数据湖摸索(Data Lake Insight,简称 DLI)是齐全兼容 Apache Spark 和 Apache Flink 生态,实现批流一体的 Serverless 大数据计算剖析服务。DLI 反对多模引擎,企业仅需应用 SQL 或程序就可轻松实现异构数据源的批处理、流解决等,开掘和摸索数据价值
2.2. 如何解决挑战
2.2.1 AI SQL
DLI 外部封装了一些 AI 算子,能够应用 SQL 的形式间接调用 AI 能力。咱们持续拿下面的身份证(图片)这个例子来举例,DLI 外部封装了调用 OCR 的算子,通过 SQL 的形式调用 OCR 图像识别能力,建表时传入身份证门路及 ORC 相干信息,如:
CREATE TABLE id_cards(name STRING, age INT, city STRING)
USING OCR OPTIONS (
path "obs://bucketName/id_cards",
ocrApiUrl "/v1.0/ocr/plate-number",
ocrEndpoint "https://ais.cn-north-4.myhuaweicloud.com",
ocrRegion "cn-north-4")
应用 id_cards 表跟应用一般表一样,能够间接进行 SELECT 查问,DLI 会主动调用 OCR 能力解析身份证获取相干属性。同时,能够对获取的相干属性应用 SQL 做进一步剖析解决,如:获取上传身份证进行实名认证的游戏玩家的城市排名。
SELECT city, count(*) as c FROM id_cards GROUP BY city ORDER BY c
2.2.2 联结查问(跨源)
DLI 目前反对绝大多数的数据源,如下图所示:
用户能够很不便地应用 SQL 来建表关联数据源,如
OBS 数据源,只须要指定数据的存储格局和存储门路:
CREATE TABLE dli_to_obs (id INT, action STRING) USING CSV
OPTIONS (path "obs://bucketName/filePath")
RDS 数据源,只须要指定 JDBC URL 信息:
CREATE TABLE dli_to_rds
USING JDBC OPTIONS (
'url'='jdbc:mysql://to-rds-117405104-3eAHxnlz.datasource.com:3306',
'driver'='com.mysql.jdbc.Driver',
'dbtable'='rds_test.test1',
'passwdauth' = 'xxx',
'encryption' = 'true')
在 DLI 中建完对应数据源的跨源表后,就能够应用 SQL 间接对这些表进行联结查问,如:
SELECT t2.name, t1.action FROM dli_to_obs t1 JOIN dli_to_rds t2 ON t1.id = t2.id
借助联结查问性能,企业能够很不便地构建起企业的对立视图,更全面地实现业务翻新和数据价值摸索
2.2.3 反对 K8S 生态自定义镜像
DLI 提供蕴含 TensorFlow、PyTorch、Keras 等这些开源 AI 框架的 AI 镜像,用户能够间接在业务代码中调用相干模型进行剖析。同时,思考到不同行业有不同的框架需要。DLI 也提供带有 Spark/Flink 组件的根底镜像,用户能够基于根底镜像将本人需要的框架打包进去,上传到容器镜像服务 SWR。DLI 运行作业时,会主动从 SWR 中拉取对应名字的镜像。这种形式防止了用户手动反复装置依赖包,后续新增节点也无需做额定操作。
3. 总结
全托管 Serverless 服务 DLI 就像是咱们日常应用的滴滴共享打车,咱们不再须要为购买和颐养私家车而收入固定成本。DLI 除了 AI SQL、联结查问、反对 K8S 生态自定义镜像这三个性能以外,还包含企业级多租户治理、批流一体、主动扩缩容等其它更多个性,下一次,咱们再一一道来。
点击关注,第一工夫理解华为云陈腐技术~