写点什么

有了数据湖探索服务,企业决策“新”中有数

发布于: 2020 年 09 月 19 日

摘要:全托管 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 CSVOPTIONS (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 生态自定义镜像这三个功能以外,还包括企业级多租户管理、批流一体、自动扩缩容等其它更多特性,下一次,我们再一一道来。


点击关注,第一时间了解华为云新鲜技术~


发布于: 2020 年 09 月 19 日阅读数: 78
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
有了数据湖探索服务,企业决策“新”中有数