前言:
今天你们对“java大数据分析框架”都比较着重,看官们都需要学习一些“java大数据分析框架”的相关内容。那么小编也在网络上收集了一些对于“java大数据分析框架””的相关资讯,希望朋友们能喜欢,你们快快来了解一下吧!一、分析系统框架总体要求
主要从以下4个方面对大数据分析系统的基本功能做出要求:
a) 数据准备模块的功能要求:对原始数据进行预处理,使数据能被上层分析方法直接使用;
b) 分析支撑模块的功能要求:提供建立数据模型和应用模型的算法库或者工具库;
c) 数据分析模块的功能要求:提供数据分析方法或者中间件,将数据准备模块输出的数据以及数据建模过程中产生的中间数据转变成知识或者决策;
d) 流程编排模块的功能要求:按照工作流对数据处理生存周期的各环节进行编排。
各模块间存在相互作用的关系,如上图所示。
二、数据准备模块功能要求
1. 数据抽取功能要求
数据抽取模块要求,如下:
a) 应支持按照需求将存放在存储系统中的数据进行抽取;
b) 应提供对结构化数据、非结构化数据的不同抽取方法;
c) 应提供全量抽取及增量抽取模式;
d) 应支持主动抽取和被动抽取;
e) 应支持定时批量抽取;
f) 应支持分布式数据抽取,实现数据抽取过程的负载均衡。
2. 数据清洗功能要求
数据清洗模块要求,如下:
a) 应支持数据一致性;
b) 应支持处理无效值,包括无效数据值的删除、修正等;
c) 应支持处理缺失值,包括缺失值的填充或缺失值对应数据条目的删除等;
d) 应支持处理重复数据,包括重复数据的合并或者删除等操作;
e) 应提供清洗前后的数据比对功能,方便使用者检验清洗的效果;
f) 宜支持逻辑矛盾、关联性验证、不合理数据的清洗。
3. 数据转换功能要求
数据转换模块要求,如下:
a) 应支持结构化数据的列转换;
b) 应支持结构化数据的行转换;
c) 应支持结构化数据的表转换;
d) 宜支持非结构化数据的结构化处理;
e) 宜支持对文本、网页类数据的规范化处理,将文档类数据转化成单一规范形式;
f) 宜支持对语音/音频数据的识别处理,将语音的词汇内容转换为计算机可读的输入;
g) 宜支持对图片中的内容转换为字符文本,提取图像信息。
4. 数据加载功能要求
数据加载模块要求,如下:
a) 应支持把经过清洗和转换之后的数据加载到大数据分析系统,为分析功能模块提供数据;
b) 宜支持全量加载:按照加载的目标结构,将转换过的数据输入到目标结构中去;
c) 宜支持增量加载:如果目标结构中已存在数据,在保存已有数据的基础上增加新的数据。当一个输入的数据记录与已经存在的记录重复时,丢弃新输入的数据,或者输入记录可能会作为副本增加进去;
d) 应支持实时加载或批量加载两种方式。
三、分析支撑模块功能要求
1. 查询功能要求
1.1 查询接口要求
查询接口要求,如下:
a) 应支持通过标准的数据库连接接口进行查询;
b) 应支持REST API查询接口进行查询;
1.2 查询优化要求
查询优化要求,如下:
a) 应支持建立数据索引,达到查询加速的效果;
b) 应支持精确查询和模糊查询;
c) 宜支持基于规则或者基于成本的查询优化;
d) 宜支持数据分片和多副本技术优化查询速度;
e) 宜支持通过SQL进行复杂条件高并发查询;
f) 宜支持二级索引。
2. 机器学习功能要求
2.1 数据集管理功能要求
数据集管理功能要求,如下:
a) 应提供将输入数据划分为训练集、验证集和测试集的功能;
b) 应提供机器学习模型的导入和导出功能,支持训练、验证过程的模型导入到大数据分析系统中,以及将大数据系统中训练所得的模型导出。
2.2 支持算法的要求
算法要求,如下:
a) 宜支持回归于分类算法;
b) 宜支持聚类算法;
c) 宜支持协同过滤算法;
d) 宜支持降维算法;
e) 宜支持频繁模式挖掘算法;
f) 宜支持神经网络算法;
g) 宜提供机器学习流程的其他组件,包括特征提取、特征转换、特征选择、模型选择、交叉验证、模型调优等;
h) 宜支持Java、Scala、Python、R等一种或多种语言,二次开发增加新的算子。
2.3 模型评估功能要求
宜支持算法模型的评估模块。
3. 统计分析功能要求
统计分析子模块要求,如下:
a) 应支持基本的数值统计,如最大值、最小值、求和、总数等统计量;
b) 应支持分析数据集中趋势的统计,如平均数、中位数、众数等统计量;
c) 应支持分析数据离散程度的统计,如极差、方差、标准差等统计量;
d) 应支持分析多个随机变量的关系,比协方差、相关系数等统计量;
e) 宜支持统计分析的自定义模板能力,保存常用的统计分析方案。
4. 可视化功能要求
可视化要求,如下:
a) 应支持常见的数据源数据格式作为输入,如Excel、关系型数据库、JSON、XML等;
b) 应支持对高维数据的可视化展示;
c) 支持可视化分析工具库,包括以下可视化形式:
1) 应支持柱状图;
2) 应支持饼图;
3) 应支持折线图;
4) 应支持表格;
5) 宜支持散点图;
6) 宜支持雷达图;
7) 宜支持网络图;
8) 可支持时间线;
9) 可支持热力图;
10) 可支持地图。
d) 可支持算法模型的评估相关的可视化工具。
四、数据分析模块功能要求
1. 分析模式
1.1 离线数据分析功能要求
离线数据分析功能要求,如下:
a) 应提供对结构化查询语言的支持;
b) 应支持对离线数据的分布式分析;
c) 应具有通过标准接口支持第三方应用的能力;
d) 应支持分布式计算或并行计算等计算框架;
e) 应支持对海量工作任务的切分和分布式调度;
f) 应支持集成第三方的机器学习算法库;
g) 可支持使用内存或SSD存储作为缓存;
h) 宜支持分布式执行计划层面的优化;
i) 宜支持对文本类、音视频类以及图像类数据的分析;
j) 宜支持对关系型数据库和大数据存储系统中的数据源进行交叉查询、聚合、关联操作的能力;
k) 宜支持使用GPU对特定算法加速分析。
1.2 流数据分析功能要求
流数据分析要求,如下:
a) 应支持按照时间切片后进行批量处理;
b) 应支持基于事件触发或者采样的流式处理;
c) 应支持实时流上的数据统计;
d) 应支持流式数据的排序;
e) 应支持与静态表之间的关联;
f) 应支持多个数据流的关联处理;
g) 采用滑动窗口方式的实时分析任务,其时间窗口大小应可调;
h) 宜支持实时数据的分组、优先级调度;
i) 宜支持对文本类、音视频类以及图像类数据的分析。
1.3 交互式联机分析功能要求
交互式联机分析要求,如下:
a) 应支持通过结构化查询语言对数据进行分布式的联机分析,如OLAP等;
b) 应支持通过结构化查询语言对数据进行即席查询;
c) 应支持利用可视化中间件对数据分析结果进行显示;
d) 应支持在交互式分析过程中定义计算公式和参数配置;
e) 应支持交互式分析过程的自动保存和回退等操作。
2. 分析类型
2.1预测型分析功能要求
预测型分析要求,如下:
a) 应支持趋势预测、回归分析等多种预测分析方法;
b) 准确率数值化以百分比形式呈现,精确到小数点后至少1位;
c) 分析结果宜使用可视化方式进行显示;
d) 应支持对训练好的模型的发布应用。
2.2 描述型分析功能要求
描述型分析要求,如下:
a) 应支持使用相关关系分析方法进行描述型分析;
b) 对样本数据的分析结果应支持可视化展示,支持模型训练效果的展示,对训练好的模型可存储和发布;
c) 应支持分析结果的良好直观呈现。
五、流程编排模块功能要求
1. 工作流管理
工作流管理要求,如下:
a) 宜支持可视化的流程编排操作界面,宜通过拖拉方式进行流程编排和修订;
b) 应支持工作流的调度触发机制,可配置触发时间或触发事件。工作流的触发时间的启动时间、执行周期可配置;
c) 宜支持通过管理界面对工作流进行启动、停止操作;
d) 宜支持多流程任务的并行执行;
e) 宜支持通过数据管道实现工作流的串联;
f) 宜支持多人协同的功能;
g) 应支持流程编排结果的持久化保存。
2. 告警和日志
告警和日志要求,如下:
a) 应支持跟踪计算或任务的执行状态,并对异常任务给出告警;
b) 应将任务执行状态的细节输出到日志。
标签: #java大数据分析框架