文档章节

理想的数据分析平台

赛克蓝德
 赛克蓝德
发布于 09/18 22:47
字数 1451
阅读 24
收藏 0

    数据分析尤其是大数据分析这几年的热度依然不减,但面对眼花缭乱的数据分析产品很难去选择,那什么是理想的数据分析平台呢。下面是根据我的个人理解的理想数据分析平台,在次强调我理想的数据分析平台。不要对号入座。

    在这里我并没有强调大数据分析平台,因为很多时候小数据分析都没有做好的情况下,谈大数据分析有点早,我一向的观点都是先把简单的少量的做好,才有机会做大量的复杂的平台。有句话叫不扫一屋何以扫天下。既然谈到数据分析平台,那什么是数据呢?百度百科的定位为:数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。在计算机系统中,数据以二进制信息单元0,1的形式表示。但这个范围有些大和抽象,不利于分析,对计算机来说,所有的数据都是0和1。但实际上我们能分析的都是我们可以识别的数据,所有我们认为数据分析平台首先要分析的是能够识别的文本数据,对于视频,音频等数据不在目前的数据分析平台中。文本数据的载体有各种各种各样,所有数据分析平台的第一个能力是获取数据的能力。

   数据获取的能力,现在计算机中的数据格式各种各样,有结构化数据,有非结构化数据。有doc,xls,txt,db等各种各样,所以一个理想的数据分析平台首先要能识别这些数据格式,并从这些数据格式的文档中抽取文本数据,然后进行下一步的分析。

  获取到数据后,分析什么呢,这个很难有统一的分析目标,所以平台需要有灵活的搜索语法。而且分析的过程和目标很多时候也是不确定的,这个时候平台既要支持随时获取数据分析,也要支持时时数据分析。可能有些抽象,举几个例子:

例子1:分析一篇word文章中出现单词最多的前10个。这个分析就是个偶发事件,那怎么做的,当然如果能写代码,这些都不是问题,但大多数用户是不具备写代码的能力的。所以我认为平台提供的平台支持如下搜索语法:

   source=test.docx | split(" ")  as word|field word, num| group by word|order by num desc| top 10

这个语法的大概含义是首先读取word文档,然后根据空格进行分词,然后对分好的词进行group by操作,然后根据数量进行从大到小排序,最后获取前10个。你看这个语法还算比较容易理解,比如写代码还是简单不少。

例子2:分析nginx访问日志中最多的前10个ip地址。这个在运维分析中是比较常用的,用shell可以实现。

cat access_log | awk '{print $1}' | uniq -c | sort -rn -k1 | head -n 10
但这个是能在linux的工具下执行,只能在执行一台机器上执行,有没有更好的方式呢?比如如下语法:

source=access_log | split(line," ")  field 1 as ip | field ip, num| group by ip|order by num desc| top 10

这个语法的含义是读取access_log文件,对每行进行split,获取第一个字段命名为ip,然后根据ip进行group by分组,然后根据数量进行从大到小排序,最后获取前10个。这种语法可以通过平台直接支持,通过web界面就可以直接查询,是否比shell更方便呢?

例子3:统计linux下tcp端口源连接ip的前10,在linux下通过ss -ntu可以查看到明细

Netid  State      Recv-Q Send-Q     Local Address:Port       Peer Address:Port 
tcp    ESTAB      0      0             10.9.58.23:45889    122.225.101.50:514   
tcp    ESTAB      0      52            10.9.58.23:13717    183.212.160.45:1330 

但如何进行统计呢?比如如下语法:

source="exec:ss -ntu"| rownum>1 | rmdup(" ")|split(line," ")|field 4 as source |substr(source,0,pos(source,":")) as sourceip|field sourceip, num| group by sourceip|order by num desc| top 10

这个语法的含义是执行ss -ntu获取第二行到结尾,然后去除重复的空格,然后对每行空格进行分割,获取第四个字段,命名为source,然后针对source进行substr获取源ip,substr第一个参数是字段,0是开始位置,结尾位置是冒号的位置,命名为sourceip,最后进行分组排序取前十。虽然看起来稍微复杂些,还是比写代码或者脚本简单很多。

先些这两点,后面在补充。

赛克蓝德是一家数据分析公司,本着数据改变生活的理念,致力于提供方便好用的数据分析产品。公司提供了一款免费的数据分析工具:secsoso,欢迎使用。
 

© 著作权归作者所有

赛克蓝德
粉丝 297
博文 123
码字总数 157303
作品 2
南京
高级程序员
私信 提问
招聘难度最大的十个技术岗位

那些对技术专业知识及领导能力同时提出要求的岗位就很难找到理想的人选。 数字化转型时代下,技术创新与迭代的极高节奏已经令企业很难找到能够与尖端技术相匹配的理想人才。另外,雇主更难找...

CashCat
2016/12/08
0
0
大数据分析在物联网发展中的重要性

技术的进步使得可以在小型设备中嵌入增强的计算能力,并以接近实时的速度从中提取实时流数据。在传感技术领域,与计算和通信技术共存的这些进步导致了大量互连设备,通常被称为物联网。 虽然...

朗锐智科
02/26
0
0
警博士SCSDB数据库

最近发现,长期专注于警务大数据分析与应用以及警务实战信息化平台系统建设的专业公司,湖南航天立博信息技术有限公司(合并了湖南航天理想科技有限公 司技术团队)新推出了一种新型数据库系...

上课就好打
2018/01/16
0
0
TOP 21大社交媒体管理和社交媒体分析工具

  【IT168 评论】什么是社交媒体管理和分析软件?社交媒体管理和分析软件通过测量、分析和解释人与人,主题和想法之间的互动和联系,为社交媒体监测,度量和为品牌价值提供平台。社交媒体分...

it168网站
2017/12/12
0
0
内存数据交换格式--Apache Arrow

Apache Arrow是Apache基金会下一个全新的开源项目,同时也是顶级项目。它的目的是作为一个跨平台的数据层来加快大数据分析项目的运行速度。 用户在应用大数据分析时除了将Hadoop等大数据平台...

匿名
2017/01/17
4.7K
3

没有更多内容

加载失败,请刷新页面

加载更多

python学习10.04:Python list列表使用技巧及注意事项

前面章节介绍了很多关于 list 列表的操作函数,细心的读者可能会发现,有很多操作函数的功能非常相似。例如,增加元素功能的函数有 append() 和 extend(),删除元素功能的有 clear()、 remo...

太空堡垒185
21分钟前
3
0
新手插画学习的方法?教你如何自学?

插画学习的方法?教你如何自学? 从小喜欢画一些漫画头像随笔画,但是其实没有基础。个人偏好小清新手绘风的插画(如下图),每每看到都希望自己能画出这样的作品。 我其实很想说画这种美术功...

huihuajiaocheng
26分钟前
4
0
面试题

1、实现clone();

gtandsn
37分钟前
4
0
CentOS 7 部署 tesseract-ocr

官方地址 github yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/ 若提示 yum-config-manager: command not found 执行以......

阿白
38分钟前
3
0
JAVA比较器中comparator的使用

一个专用的比较器Comparator Comparator是一个专用的比较器,当一个不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。Comparator体现了一种策略模式...

daxiongdi
38分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部