很多人都在谈大数据技术,但客户在真正启动大数据项目的时候有哪些技术思考? 如何来选型大数据平台?从以下POC考题及案例就可以了解客户对大数据的细粒度需求。看了考题,你能全部做下来吗?
1.1 测试时间、地点、人员.....................................................................................4
1.2.2 测试软硬件列表.....................................................................................5
3 基础组件测试——模拟场景部分.................................................................................10
3.3.1 结构化数据简单查询............................................................................11
3.3.2 结构化数据复杂查询............................................................................11
3.4 非结构化数据加载场景——小文件...................................................................12
3.5 非结构化数据查询场景——小文件...................................................................12
3.6 非结构化数据加载场景——大文件...................................................................13
3.7 非结构化数据查询场景——大文件...................................................................13
3.8 半结构化数据加载场景...................................................................................14
3.9 半结构化数据查询场景...................................................................................14
4 基础组件测试——组件功能性部分.............................................................................15
4.1 大数据应用开发平台各组件功能测试...............................................................15
1.1.1 测试时间
初步拟定POC测试时间为xxxx, 将分批次安排意向厂商入场进行测试工作。
1.1.2 测试地点
某银行总行信息科技部开发中心
1.1.3 测试人员
单位 |
人员 |
银行信息科技部 |
大数据应用开发平台项目成员 |
意向厂商 |
POC测试人员 |
各节点安装服务参见<表1.1.1>
表1.1.1
主机名 |
ip |
服务 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
测试软件及支撑软件参见<表1.1.2.1>
表1.1.2.1
编号 |
软件名称 |
版本 |
数量 |
备注 |
1 |
|
|
|
|
2 |
|
|
|
|
测试硬件清单参见<表1.1.2.2>表1.1.2.2
编号 |
硬件名称 |
规格型号 |
数量 |
备注 |
1 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
服务框架部分包括两部分验证,其一是面向开发者,验证平台所提供的开发工具及相关的服务是否充分满足应用开发的需要;其二是在平台处于运行时状态下,服务层能否实现架构设计的预期效果。
2.1.1组件功能说明
架构层次 |
编号 |
技术组件 |
是否必选 |
应用开发层 |
1 |
CLT命令行工具 |
必选 |
2 |
管理控制台 |
可选 |
|
3 |
SDK |
必选 |
|
4 |
IDE优化 |
可选 |
|
5 |
数据上传下载工具 |
可选 |
|
服务层 |
6 |
REST API |
必选 |
7 |
数据路由 |
必选 |
|
8 |
同步异步转换 |
可选 |
|
9 |
API接口封装 |
必选 |
|
10 |
业务逻辑容器(UDF/MR) |
可选 |
|
安全管理 |
11 |
身份认证 |
必选 |
12 |
权限管理 |
必选 |
|
元数据管理 |
13 |
元数据管理 |
必选 |
2.1.2设计能力考察
提交物要求:1、以word形式提供具体的设计方案;
2.1.2.1应用开发层
SDK
SDK是对RESTfulAPI的封装,提供更高层次的抽象,便于用户理解和使用平台的服务。
n 设计要求
1、 SDK的基本框架,包、类的整体结构设计、对于重点类的设计,请举例一二。
2、 SDK与业界同类产品、系统(CDAP、ODPS SDK)上的差异和相应考虑?
3、 SDK是平台与业务应用的接口,SDK设计时如何考虑对业务应用的支持?
4、 SDK与REST API如何权衡两者的关系,设计上考虑的侧重点分别是什么?
CLT命令行工具
CLT是面向开发者的客户端工具,开发者通过命令行的形式提交各种指令,与平台进行交互。其支持的指令集包括权限管理、资源(脚本\Jar包等)上传、结构化数据操作等DML、DDL。
命令行工具是开发者最主要的工具,其功能应覆盖开发过程中的各主要环节,对开发全过程提供完整支持。
n 设计要求
命令行支持范围、分类、设计思路、实现方案。
管理控制台
管理控制台是对CLT的补充,其功能是后者功能集的子集,提供更直观的图形化界面,便于非专业开发人员操作。此处的管理控制台以应用开发者和管理人员为对象,主要服务于开发过程中的管理。提供权限控制、用户管理、日志管理等功能,交互友好,便于非专业开发人员使用。
n 要求
管理控制台支持的操作是命令行的子集,选择的策略。管理控制台本身的作为子系统的架构设计方案。
数据上传下载工具
在开发过程中使用的命令行工具,简化测试数据的上传下载操作。
n 设计要求
介绍相应的设计方案。
IDE优化
基于自主研发平台集成相应的插件,支持java代码的开发、调试等。
n 设计要求
与我行Java自主研发平台充分结合,如何设计以优化开发过程,提升效率。
2.1.2.2服务层
REST API
服务层以统一的RESTful API方式对外提供服务,通过SDK方式进行封装,进而形成不同的客户端组件,便于开发人员使用。
REST API作为对外暴露的接口供外部应用调用,在平台的全生命周期内要保证稳定性和向后兼容性,需要保证接口的良好设计。API不只是对原生API一对一的封装,还要兼顾异构组件标准化和API增强的目标(详见高阶架构相应章节描述)。
n 设计要求
1、 整体API层次结构的大致结构和设计思想
2、 对异构组件兼容性考虑、API增强考虑
数据路由
基于元数据的管理,根据访问数据对象的不同,将相应服务路由到不同的计算框架或不同的集群。
n 设计要求
1、如何保证服务层元数据信息与各集群元数据信息的一致性?
2、如何保证数据路由的高效和高可靠?
3、如何实现数据对象的解析,保证解析高效?
同步异步转换
支持同步及异步调度,异步调度主要考虑对于延时较长的任务,避免服务阻塞。
n 设计要求
平台的服务如何针对客户端调用和其他应用调用进行封装?同步、异步服务的设计原则,异步调度的实现方式、异步转同步封装的实现方式。
API接口封装
对内部技术组件API的适配,保证向上提供相对统一的服务API。
n 设计要求
评估API适配设计好坏要关注有哪些方面?是否会带来效率的损失?
业务逻辑容器(UDF/MR)
用户可以编写UDF(自定义)函数及MapReduce代码,托管到平台的相应层次(服务层或计算层),实现一定的业务逻辑。
n 设计要求
1、 在多组件支持UDF的情况下,对UDF的定义方式能否做到与计算组件无关?
2、 在计算层组件不支持的情况下(如Impala),是否有其他方式支持有限的UDF定义?在设计上的关注点是什么?其局限性有哪些?
3、 平台的服务如何针对客户端调用和其他应用调用进行封装?同步、异步服务的设计原则,异步调度的实现方式、异步转同步封装的实现方式。
2.1.3实施能力考察
提交物要求:具备落地实施能力的厂商,提交相应的源代码、目标码以供验证;
2.1.3.1应用开发层
应用开发层是对开发过程的支持,因此对该层用例并不以考察最终运行态的各项指标为重点(但将同步结合技术能力的要求进行考察),而是考察在开发环境下相应的工具是否满足开发者高效、便捷的工作需要,是否能够支撑完整的工作流程。
创建项目空间、用户及赋权
“项目空间”对应平台上的每一个具体应用,同时也是“多租户”中的“租户”概念。通过平台层面的管理功能,创建“项目空间”及相应的“项目管理员”角色,切换至“项目管理员”完成为其他用户的创建、赋权等操作。
n 考察用例
基于CLT工具创建开发人员账户,并赋予相应权限。
n 相关技术组件
CLT(必选)或管理控制台(可选)
创建表、加载基础数据
通过CLT完成数据表创建,该表创建语句应符合通用SQL或HiveQL语法规范。表创建语法应考虑后续使用方式:一、是否要求复杂关联查询或单表低延迟查询等等;二、考虑相应的多集群、多存储技术(HDFS/Hbase)的因素。
n 考察用例
1、 使用开发人员账户登录CLT,创建数据表Table_A。