#研发解决方案#数据开放实验室:再战即席查询和数据开放
创建于2017/9/7 最后更新于2017/9/16
关键词:大数据,HBase,数据开放,即席查询,数据授权,HDFS,Zeppelin,Kylin,
提纲:
解决什么场景
即席查询的发展历程
五个特性
小结
数据开放实验室(OpenDataLab) 是云纵数据中心继魔镜(竞情数据分布式抓取管理平台)、魔盒(大数据协作平台)、数屏(可视化监控屏管理平台)之后推出的又一款大数据应用。
它的现阶段目标是将我司的各种数据,经过脱敏、清洗等处理之后,授权下游企业使用,通过即席查询确定数据格式,定义API,通过API拉取数据。它的用户既有企业内部用户,也有企业外部用户。
它的开发者有:前台少明,川川,中舟,顺闯,仓库清勇,兴申,明军,明黎,梁键等。
蚂蚁金服曾把大数据应用划分为四个阶段,如下图所示:
图1 四个应用阶段
虽然我们的数据开放实验室对标的是处于第四阶段的蚂蚁数巢之云数据实验室,但是第一我们现阶段数据量还是太小,第二蚂蚁金服强调的是“可用不可见,相逢不相识”的可信的大数据加工处理环境,而我们强调的是将大数据以自助定制API的方式输出给可信的合作伙伴,本质上还是即席查询的变种。
0x00,解决什么场景
我们定义数据开放实验室要解决三件事:
1)把数据仓库的数据复制到实验室数据专区。把数据专区里的数据授权给企业,在这个数据复制的过程中,可以对数据做脱敏等清洗工作;
2)企业可以看到企业专区里的表结构和数据字典,可以做即席查询(Ad-hoc),当然只展示结果集的前1000条记录;
3)企业如果觉得结果集符合需求,可以将查询发布为 API,通过接口调用,可以将数据拉到企业本地。
0x01,即席查询的发展历程
面向数据仓库的即席查询,这个工作在窝窝开展过,技术选型为 shib+node.js+Presto。Presto 也是几年前诸多互联网公司提升 Ad-hoc 响应速度的重要选择之一。
到了2016、2017年,即席查询有了更多的选择,如 Apache Zeppelin,Apache Kylin,原先用了 Presto 的那拨公司陆续接入了 Kylin,如美团点评,唯品会,链家,京东POP,国美商城,百度地图。
2017年3月3日,明军做了 Kylin 技术演示。我们发现一个严重的问题,由于给企业授权数据是分批分期进行的,如果 Kylin 建了多个 Cube,不同 Cube 之间的表不能联表查询,那就违背了数据开放实验室的需求,你想企业客户都已经看到了多张表,不可能说因为底层 Cube 的限制而不允许联表查询。唯品会2016年12月做的 Kylin 分享中提到,他们基于 Presto+Kylin 双引擎的架构做了改造,支持了跨 Cube Join。我们短期内还做不到这一点。
2017年7月14日数据开放实验室第一次公开演示。
2017年8月18日数据开放实验室正式上线。
0x02,五大特性
接下来展示一下这个产品企业前台的五个特性。
第一,企业前台的 dashboard 展示集群资源使用情况,已授权数据表数量,已发布API数量,如下图所示:
图3 首页dashboard
当 Hadoop 集群的CPU、内存使用情况变为红色时,不建议进行数据查询操作。
第二,数据列表可以查看数据字典,数据大小。
第三,查询编辑器里支持按 tab 键提示关键字、表名、字段名,还支持一键格式化。
图6 智能提示和格式化
咱们这里的 SQL 采用的是类似于 SQL 的语法,可以看作是标准 SQL 的子集,但不能因此简单地把 OpenDataLab 等价成⼀个数据库,它在一些查询语法上跟标准 SQL 有所不同,需要看帮助文档。
还可以把当前 SQL 语句保存下来,以后能在“查询记录”列表里找回来。
查询的执行过程会实时打印出来,如下图所示:
图7 执行信息
第四,查询之后,可以发布为 API 了,临时或一次性使用数据,可以选择“单次”,周期性获取数据,选择“周期”。
第五,API 发布后,可以在 API 列表里找到,能看到 API 任务进度和数据定制进度。加速状态为“已加速”的分析才能被外部程序访问到。
既可以由程序调用 API,同时为了方便内部用户导出数据,这里也提供了下载报表的按钮。
数据开放实验室还有一个管理后台,能开通企业,对企业授权数据,定义数据脱敏和转换等规则,这里不再赘述。
0x03,小结
就酱,底层有 DataFlash 集群,上层应用有魔盒、魔镜、数屏、数据开放实验室等大数据应用或工具。
-EOF-
赠图一枚
吐槽若干:
RT @hengdm:一件看似简单的事之所以一直没人能做好,是因为它有看不见的大坑。
/*说一个实例。
昨天看到一篇《微信iOS收款到账语音提醒开发总结》。需求很简单,为了解决小商户老板们在频繁交易中不方便核对、确认到账的痛点,微信要做收款到账语音提醒。
技术实现嘛,听上去也不难,收款到账语音提醒需要收款方在收到款后,播放一段TTS合成语音播报金额,微信在前台时可以通过模板消息将需要播报的金额带下来,再请求TTS数据并播放,但是app在挂起或者被kill掉的情况下要如何请求语音数据并播放呢?
但遇到的问题有:
零,有人说,使用 VoIP 方式唤醒 App,苹果审核团队会拒审的。
微信开发者说,还好,苹果官方文档确实提到了只有 VoIP 应用才能接入 Push Kit,微信本身支持视频通话和语音通话的功能,所以收款语音提醒只是复用这个通道。
一,有大佬吐槽,如果微信支付开启了到帐提醒,即使手机静音了,也会播报。
好,改。
但是,苹果在iOS5之后便禁止监听静音按键。
悲催的开发者最后在 Reddit 上找到了一种曲线救国的方式,实现起来也不复杂:使用AudioServicesPlaySystemSound播放一段0.2s的空白音频,并监听音频播放完成事件,如果从开始播放到回调完成方法的间隔时间小于0.1s,则意味当前静音开关为开启状态。
二,用户吐槽音量太小听不见。
原因是用户设置的系统音量过小所导致。
那也得解决啊。
最终的解决方案借鉴了进入收付款展示二维码时自动调节屏幕亮度的方案:如果屏幕亮度未达到阈值,则调高屏幕亮度到阈值,离开页面时,将亮度设回原亮度。同理,播放提示音时,若用户设置的系统音量小于阈值,则调节到阈值。提示音播放完毕后,将提示音调回原音量。
*/
昨天面试的时候我告诉候选人,一个公司如果让一帮人只做业务另一帮人只做架构(其实也只是技术选型而已),这样是不对的。
第一,每个工程师都有更高更快更强的愿望,我们讲究的是平凡人(可以)做非凡事。
第二,只做技术选型远远不够。技术管理分为三个层次:研发能力,研发效率,研发活力。“研发能力的提升”是研发部门的生理需求,“生产效率的提升”是公司的安全需求,“研发活力的提升”是研发人员的社交需求和尊重需求。三者循环往复,互相促进,缺一不可。
RT @cxiaoji:「1996年6月,阿里亚娜五号火箭第一次试射,表示水平速度的64位浮点数值被转换为16位整型代入运算,导致火箭在高速下水平翻滚解体。」
「他们要是用JavaScript就没事了」
/*注:Ariane的开发语言是Ada。设计Ariane4火箭时坚信水平速率是不会超过一个16-bit signed integer的。但Ariane5火箭的水平速率比4高出了5倍,code review时没有注意到这一点,导致数据转换时溢出,控制惯性导航系统的计算机向控制引擎喷嘴的计算机发送了一个无效数据,于是火箭偏离它的飞行路径,解体并爆炸。*/
-END-
转载于:https://www.cnblogs.com/zhengyun_ustc/p/adhoc2017.html
#研发解决方案#数据开放实验室:再战即席查询和数据开放相关推荐
- 大数据后从此再无隐私_大数据时代没有个人隐私?
作为一名大数据领域的从业者,我来回答一下这个问题. 在大数据技术的推动下,随着数据价值的不断提高,关于个人隐私的安全问题受到了更多的关注,关于如何在大数据时代保护个人隐私(数据安全)也是目前不少研究 ...
- sql重复数据取日期小的_excel快速查询重复数据的3个小技巧
在大量的数据当中怎么快速的查询数据是否有重复,并进行删除.方法有以下几种,通过菜单栏查询删除重复值,用vlookup查询删除重复值以及countif查询删除重复值. 1.菜单栏查询&删除重复数 ...
- #研发解决方案#共享能力的数屏
创建于2017/7/23 最后更新于2017/7/25 关键词:大数据,监控大屏,实时大屏,大屏,数屏,React,Redux, 提纲: 自助式报表.魔盒和数屏的产生逻辑 共享能力 数屏的技术栈 数屏 ...
- 腾讯云发布多款大数据应用产品,助力企业全面释放数据价值
大数据产业作为战略性的新兴产业,已成为加快社会发展变革的重要引擎.在11月30日的2022腾讯全球数字生态大会大数据专场上,腾讯云大数据新发布了多款数据应用产品,并就其在金融.泛娱等行业的最佳实践进行 ...
- 从“数据合规官”到“安全岛”,将数据的安全合规进行到底
关注云报 洞察深一度 2018年5月,号称欧盟史上最严的数据保护法规--<一般数据保护条例>(GDPR)正式生效后,"首席数据保护官"热度直升. 在大数据上升为国家战略 ...
- 数据库必知词汇:即席查询(Ad Hoc)
即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表.即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条 ...
- 写给大数据初学者的话——转自lxw的大数据田地
原文地址:http://lxw1234.com/archives/2016/11/779.htm 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hado ...
- 分页查询有数据无数据源问题
分页查询有数据无数据源问题 使用前端查询有数据但无数据源问题 问题详情 具体问题演示 代码演示 解决办法 使用前端查询有数据但无数据源问题 问题详情 表格有自带的分页功能,后台分页主要是通过传{lim ...
- mysql获取插入数据的id_mysql插入记录后获取插入数据的id值
最近自己折腾点东西,使用mysql数据库的时候发现没有oracle的序列,插入数据前无法通过获取序列的方式拿到记录ID值,设置到关联表中进行关联. 在网上找了一些相关的资料,可以拿到最后一次插入的ID ...
最新文章
- vscode 使用ssh密钥登录远程Linux -- vscode remote linux ssh key
- 分别使用委托、接口、匿名方法、泛型委托实现加减乘除运算
- Window下git生成SSH Key以及格式转换
- 抛开vue-cli 利用requireJS搭建一个vue项目
- java mysql websocket_javaweb-ajax-websocket-mysql
- Zxing 扫描码的ios简化版搭建过程
- 判断字符串是只是数字
- CA SDK 使用简介
- mysql alisql,Mysql-03. ubuntu 安装 alisql
- confluence挖矿病毒(kdevtmpfsi 、solrd)解决
- MAC 如何连接惠普打印机
- Back Projection
- 电商业务容器化遇瓶颈,公有云Docker镜像P2P加速很安全
- 高仿富途牛牛-组件化(四)-优秀的时钟
- 小型网络拓扑(vlan)
- mt4中php是什么意思,MT4编程报警问题
- vue+d3.js计算任意多边形面积
- Relation Network for Person Re-identification阅读总结
- PYQT5(13)-基本窗口控件-拖曳与剪贴板
- 正则表达式判定电话号码(电信移动联通)
热门文章
- 哪些行业是离散制造?哪些是流程制造?他们有什么区别?
- 人脸识别客户端应用程序_如何在应用程序中使用功能识别设置人脸检测
- 关于图片轮播图的一个简单实例 以及实例中发现问题
- 程序员教程-1章-计算机系统基础知识
- 巴比特 | 元宇宙每日必读:继续加码!韩国政府将投资179亿韩元扶持本国元宇宙企业的内容开发及海外扩张...
- 大型SI类系统研发中的项目管理(转)
- CSS中常用的选择器都有那些?
- nltk中文分句_利用NLTK进行分句分词
- AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
- 计算机科学与技术有剪辑吗,计算机科学与技术学院第七届“微剪辑大赛”