|
1.数据方面:如何进行模型分层?一般模型分层计算程序,以哪种语言为主?(请说出此种语言在数据架构方面较于其他语言的优势又哪些?)
这方面主要有两类:一类来源于传统数据仓库进行划分数据各层架构,通过ETL进行各层数据流流转,技术以数据库技术为主;另一类是互联网分布式数据库(hbase,hive),模型划分以业务场景灵活分层,主流程序以Java,Python为主,通过各种开源控件进行各层数据流管控。
2.架构方面:在架构过程中,一般以7点展开,如:a. 存储和计算都基于HIVE;b. GREENPLUM作为HIVE的“cache”存在,供用户做一些小数据的快查询,报表存储;c. 调度:和canaan框架进行整合,支持用户快速新增任务,并自动导入任务依赖;d. 主数据:保存了数据仓库元数据信息,供用户查询和系统内部各个模块交互;e. ACL:构建了数据仓库数据访问权限控制,包括用户权限申请、审批者审批、数据赋权等;f. 传输;g.监控:由于任务数量增长较快(2000+),运维已经是个问题此外,需花了较大精力做了可视化的工作:
您的工作,主要涉及以上哪几点?在架构过程中遇到的难点有哪些?
现应用到的点有: a, c,d, e,f,g
hive 这块数据更新存在一些困难,hive目前不支持update操作。数据格式转换有时会繁琐些(对各类数据库函数支持不是很好)。调度这块,我暂时用的是azkaban,可视化操作,比较简单,如有其他功能需求,需要自己二次开发。主数据,传输,监控这些,和实际场景联系比较紧密,目前正在完善中。
3.数据应用:数据一般以哪种形式,呈现给用户?技术上是通过哪些策略实现?
数据应用: BI报表,数据api接口,分析报告,开放查询端口等等 |
|