BigInsights金刚钻之BigSheets: 零编程!处理海量数据

数据处理工具的必要性

Hadoop的魅力在于提供了廉价的分布式数据存储和数据处理框架,让我们以极低的成本保存和处理海量数据。然而纯开源的Hadoop对使用者的技能仍然有较高要求:熟悉Java、Mapreduce接口才能编写数据处理程序;熟悉Hive sql或者Pig等才能使用各种工具语言编写数据处理逻辑。

对于大部分数据分析师和数据科学家来说,学习这些技能并不难,然而学习、使用这些底层的技能会消耗大量宝贵的时间,因此一款功能丰富、使用简单的数据处理工具无疑可以带来极大的帮助,可以为业务人员、数据分析师和数据科学家节省大量的时间和精力。BigSheets就是这样一款设计用来处理海量数据的图形化工具。

BigSheets功能介绍

BigSheets是对大数据进行数据处理、数据分析的电子表格工具,内置支持多种数据源,提供数据过滤、内容补全等多种实用的数据处理功能,可以合并和处理不同表格中的数据,也可以通过图表的形式对数据进行可视化展现,并提供了丰富的数据导入导出接口。

BigSheets架构介绍

BigSheets在用户和Hadoop之间建立了一整套数据处理框架:用户在浏览器界面创建工作簿, 根据需要定义数据过滤、数据转换的处理流程;BigSheets引擎将前端输入的处理流程转换为可执行的作业(Pig);BigSheets在样本数据上运行数据处理流程,将结果展现给用户进行预览,等待确认;用户确认后,BigSheets将运算逻辑运行在全量数据上,并得到最终的处理结果。BigSheets的架构如下图所示:

BigSheets使用示例

本示例中展示了如何使用BigSheets对海量订单数据进行处理,演示了基本的数据处理,包括:数据解析、过滤、排序、合并和结果处理。需要处理的订单数据已提前上传至HDFS目录中。

步骤1, 登录BigSheets界面:

BigSheets提供基于浏览器的管理界面和用户交互界面,除了最基本的Hadoop组件HDFS/Yarn/Mapreduce外,BigSheets还依赖BigInsightsHome和Knox服务:BigInsightsHome服务提供了IBM增值组件(BigSheets/BigSQL/TextAnalytics)的统一访问界面;Knox为外部访问者提供了安全、统一的访问入口。

在浏览器地址栏输入地址: https://<管理节点

IP>:8443/gateway/default/BigInsightsWeb/index.html 访问,可使用默认用户guest/guest-password登陆:

步骤2, 将数据导入HDFS,并新建工作簿(Workbook):

可以从本地文件/目录或者HDFS文件/目录创建BigSheets工作簿。BigSheets内置了多种数据解析器,包括:基本的网络爬虫数据,字符分割数据,CSV格式文本数据,Hive数据解析器,JSON数据解析器 和TSV数据等。下图展现了从HDFS中的CSV文件中创建Workbook数据源:

步骤3, 在生成的工作簿副本中定义数据处理逻辑:

从HDFS文件创建的初始工作簿是只读的,需要复制为新的工作簿后再增加数据处理逻辑。下图展示了对订单数据按照时间条件进行过滤,提取出需要处理的数据子集后,再根据时间条件进行排序。

通常进行数据分析的数据源可能来自于多个数据源,需要根据实际情况对数据进行处理然后合并,下图中展示了将不同数据源的多余数据列删除,再通过Union操作将多个数据源的订单数据进行合并。

BigSheets提供了大量现成的处理工具,包括:

Filter:过滤不满足条件的数据,如用户名为空等;

Function: 添加数据处理函数(内置96种函数),如对输入值进行求和;

Load: 从其他工作簿中导入数据,如合并不同表格中的数据;

Jion: 关联多个表格中的数据,类似于SQL语句中的Join;

Group: 数据分组:对数据进行分组并对每组数据进行相应的运算;

Union: 数据合并,将多个表格中的数据合并为一个;

Intersection: 数据交集,按指定列获取两个或多个表格中的重合数据,要求数据模式相同;

Complement: 数据取余,按指定列对数据进行取余,要求数据模式相同;

Limit: 限制数据中处理行数,按照Top(N)等顺序对处理的数据量进行处理;

Distinct: 除去表格中的重复值,每组重复的至只保留一个;

Copy: 从其他电子表中复制数据;

Formula: 添加数据处理公式。

定义好数据处理流程之后,可以从管理界面通过数据流图的方式,查看数据处理过程,如下图所示:

步骤4, 对全量数据进行数据处理,并保存结果:

在编辑数据处理过程中,在BigSheets中看到的显示结果,都是对数据集里的前2000行数据进行模拟处理后,显示最前面的50行数据。确认数据处理逻辑正确之后,点击“Run”按钮运行全量数据的处理。

BigSheets会在后台通过Pig启动MapReduce作业,并在前台通过进度条显示进度。待任务完成之后,便可以使用数据处理结果了。

常见的三种使用场景如下:在BigSheets中使用数据,包括通过电子表格查看和画图等;为数据集创建BigSQL/HIVE数据表,再通过SQL/HIVE SQL访问数据;将电子表格的数据导出到HDFS,供外部使用。下图展现了如何在BigSheets中导出文件和创建数据表:

还可以根据需要直接画图,通过可视化图表的方式来展现数据。BigSheets支持各种常见的图表,包括饼图、柱状图、折线图、地理图等,下图展现了按照区域显示销售额的饼图:

后记

大数据分析中处理的数据量少则TB大到PB,数据处理是花费数据分析团队最多时间和精力的工作。BigSheets的数据处理能力,可以有效减少数据处理过程的开发和维护时间,是大数据分析团队不可多得的数据处理工具之一。

时间: 2024-09-30 00:07:34

BigInsights金刚钻之BigSheets: 零编程!处理海量数据的相关文章

从零编程:ajax基本知识

ajax 在MVC中示例: 1 function autoSubmit() { 2 var postData = $("#AddForm").formSerialize(); 3 var url = "@Url.Action("Registration", "HospitalIntroduct")"; 4 var options = { 5 type: 'POST', 6 data: postData, 7 url: url,

准备踏入IT编程的学子们,你们第一门编程语言选谁? Are You Ready? Go!

Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的师弟或师妹,希望这篇文章能够帮助他们少走弯路,顺利地迈入软件开发的大门:如果您是一位有经验的软件开发者,或者是关注计算机教育的同行,也敬请提出宝贵意见. 发表看法请在本贴评论,或者在我的新浪微博“北理工教师金旭亮(http://weibo.com/jinxuliang)”上相互沟通. 本文仅代表个人

汇编置零的指令的分析

将eax寄存器置零,编程中也就是赋值0 两种方式分析 xor eax,eax mov eax,0 //在汇编中或者反汇编中.编译器一般都会用xor eax,eax来操作. //这样的好处显而易见.因为xor来操作只需要暂用2个字节,而用mov则需要5个或更多的字节. 所以cpu的优化还是很有效率的.

C++游戏编程(一开篇)

本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云    邮箱: [email protected]    大家别叫我楼主能够吗- -.请叫我浅墨 在从第一节開始看这个笔记系列的话,大家会发现,一上来就開始讲DirectX相关的内容,可是写了几节之后,又開始讲 GDI了. 这是由于我写完前几节后,发觉直接讲DirectX有些生硬.最后我想了一下,应该先梳理完GDI相

零编码自动化测试工具TW最新免费版V4.0.5.4正式发布

上海博为峰旗下自动化测试工具TestWriter(简称TW)免费版最新版本V4.5.0.4正式发布,新版本到底有多强大,快来一睹真容吧~ 一.TW全新版本V4.0升级亮点有哪些? 浏览器版本支持增强 : 1.兼容IE8.IE9.IE10.IE11版本: 2.兼容Chrome43-58版本: 3.兼容Firefox45-53版本. Android版本支持增强: 1.Android平台支持7.0以上系统: 功能增强 : 1.支持条件分支功能: 2.测试对象.测试步骤.测试用例.测试业务支持目录筛选功

云服务中消灭小黄图的大宝剑---X次元口袋

X 次元口袋 把数据的场景做深做透,真正帮助用户缩短从想法到产品的距离,是七牛一直以来的使命.从 2011 年至今,围绕数据管理打造场景化 PaaS ,我们已经服务了超过五十万家客户,承载了超过 2000 亿张图片,10 亿小时视频. 对互联网开发者来说,一站式在线数据管理一定要包含针对海量数据的零运维.高可用.高性能的数据处理服务,以便轻松应对图片.音视频及其他各类数据的实时.异步处理场景.目前,七牛提供的数据处理服务已经日处理数近百亿次,除了提供基础数据处理,还基于容器技术打造了易扩展.易部

【译】Using Objects to Organize Your Code

耗了一个晚上吐血翻译不过也学到了不少...<使用对象来组织你的代码>,翻译中发现原作者在原文中有部分代码有误或不全,本文已修改和添加~ 丽贝卡·墨菲原文链接:http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code 当你不只是使用jQuery的简单片段而是开始开发更复杂的用户交互,你的代码会变得笨重和难以调试,这篇文章通过使用对象字面量的形式向你展示如何在行为特征的角度思考这些交互. 在过去几年,JavaSc

ECharts是我接触过的最优秀的可视化工具,也是进步最快的软件,希望它早日成为世界级的开源项目。

ECharts的广泛网址: http://echarts.baidu.com/doc/example.html 零编程玩转图表: http://tushuo.baidu.com/?qq-pf-to=pcqq.c2c 结合使用做的你想做的图表吧! <%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%><!DOCTYPE h

Python之路【第二十四篇】:Python学习路径及练手项目合集

Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Python技术路径中包含入门知识.Python基础.Web框架.基础项目.网络编程.数据与计算.综合项目七个模块.路径中的教程将带你逐步深入,学会如何使用 Python 实现一个博客,桌面词典,微信机器人或网络安全软件等.完成本路径的基础及项目练习,将具备独立的Python开发能力. 完整的Python学