构建可视化交互大数据查询平台
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各平台对比
HUE 开源 开发语言言 部署难度 功能 二二次开发 Spark支持 HDFS管理 可维护性 架构 Yes Python/Django Easy 多/强大大 Python+Java Y Y 较难 B/S+C/S phpHiveAdmin Yes php/CodeIgniter Medium Hive 容易 N N Half 矛盾 B/S Qubole No Python/java SDK AWS Hive Only SDK N ? ? 找Qubole Unknown
向 磊
EasyHadoop创始人
构建可视化交互大数据查询平台
大数据的交互式查询
1. 交互式查询很重要 我们不能要求所有人人使用用Linux命令行行 减轻开发人人员压力力 需求即结果 2. 可选择余地很少 HUE, Qubole, phpHiveAdmin, Shib... 3. 难点 作业的提交 作业监控 集群监控 操作HDFS
Doc: http://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html
关于Hive和HBase的Thrift
Hive, HBase, SparkSQL都可以通过thrift / thrift2来访问 - 实际上SparkSQL用用的就是Hive的接口口 - thrift2实际上是thrift接口口的一一个增强版,增加了安全性(cyrus-sasl authentication),并发性(Zookeeper Quorum)... Hive有个HiveMetastore的9083端口口的什么鬼鬼,还有个10000端口口的 HiveServer / HiveServer2的什么鬼鬼。
RESTful YARN/MR
通过curl访问YARN/MapReduce curl -i -L "http://x.x.x.x:8088/ws/v1/cluster/info"
可以获取所有我们想要的作业相关信息,也可以提交作业,不过,首首先你得把 作业的jar包放进HDFS,然后再写一一个json文文件来提交。详情稍后
REST = REpresentational State Transfer
Restful HDFS
通过浏览器或CURL访问HDFS curl -i -L "http://x.x.x.x:50070/webhdfs/v1/?OP=LISTSTATUS&user.name=hdfs" HTTP GET组内OP参数可以列⺫目目录,文文件状态...... HTTP PUT组内OP参数可以创建文文件夹,改名,设权限...... HTTP POST组内OP参数可以APPEND, CONCAT, TRUNCATE HTTP DELETE组内OP参数可以删除文文件和快照......
curl -i -X PUT "http://x.x.x.x:50070/webhdfs/v1/TokyoHot? op=MKDIRS&user.name=xianglei"
Doc: http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/WebHDFS.html
ቤተ መጻሕፍቲ ባይዱ
需要各接口口的整合开发,首首先以HDFS为例: Hadoop提供基于HTTP/HTTPS的HDFS访问接口口 - 同时支支持对HDFS的读写操作 - 可以从程序或脚本中访问 - 可以用用命令行行工工具如curl或wget来实现数据 文文件 的上传下载 - 启用用webhdfs或httpfs - webHDFS为内置,但不支支持HA - httpfs为外置tomcat,但支支持HA - 题外话,集群对拷也可以用用webhdfs方方式
为什么要开发交互式平台
一一个最根本的原因是,不是所有人人都会用用Linux shell 不是所有人人都能从shell操作Hadoop, Hive, Spark...,而而且这样不安全 让专业的人人做专业的事,让产品经理自自己己去写无无聊的SQL吧 一一个数据分析作业在运行行以前,可以在界面面里里先进行行测试 界面面化交互式平台可以解决以上问题 别人人开发的东⻄西难用用,不会维护 最重要的事情提高高数据分析工工作的开发效率,干什么都要快
因何降低成本?
把N多数据分析作业以众包形式分解,以提高分析作业的开 发效率
自己开发一个难吗?
关键在了解各种接口口及对接口口数据的获取 HDFS ResOul ThriT CLI Y N Y YARN/MR Y N Y Hive N Y Y Pig N N Y HBase Y Y Y Spark 1.4 later SparkSQL Y
集群作业监控 Y
典型案例
一一个典型的例子子是我在那家涨停N次以后停牌的公司做phpHiveAdmin的时候 不要问我关于那家公司股票的问题,我没有的
结果出乎意料 1. 极大大的提高高了在Hive上做数据分析的效率 2. 进而而极大大的提高高了数据的产出效率 3. 开源后有N多国内外公司使用用,并提交patch 4. 但是我仍然建议最好自自己己写一一个 5. 这是一一个公司从核心心技术层面面深入入了解Hadoop和Spark的好机会 6. 将Spark/Hadoop/HBase/Hive整合为一一个统一一管理的可视化数据平台, 大大幅度降低分别管理和维护的成本。 7. 大大幅度降低数据分析业务开发的周期和成本。