一个数据应用闭环(转载)

收集:
各种开源的分布式日志收集系统:
Scribe, Flume等等

存储
可以同时包含各种不同的存储类型,可根据不同的需求增减相应的存储类型:
底层存储:能够存储大量的数据,最好具有可扩展性 HDFS S3等等
关系存储:MySQL,Postgresql等等
键值存储:HBase,Redis等等

计算
计算能力也应该同时包含集中不同的类型,可根据不同的需求增减相应的存储类型:
批量处理型计算:MapReduce,脚本批量转换作业等等
实时统计型计算:Storm,各种监控系统
实时存取型计算:各种KV数据库都可以达到这个目的;关系型数据库也具有这样的能力

逻辑转换
这就是所谓的ETL,开源的ETL工具,比如Kettle。

数据访问
开发的报表系统,各种OLAP产品(比如Oracle BIEE),SQL访问接口(比如Hive等等)

价值提取层
价值就是比较抽象的东西了,仁者见仁,不必迷恋复杂的算法,要对所探究的对象本身有深入的理解;
更好地解读数据,利用逻辑转换层(ETL)或编写程序来达成本层的两个目的:
1. 建立研究对象(比如每个用户)的标签库(如果必要,可以采用聚类/分类算法),以固定的格式存储于关系存储或键值存储中
2. 根据数据发掘出类之间的关系,找出关联比较明显并且有价值的关系,记录到WIKI或者专门的知识库中

这层可以自己编写程序,结合使用开源工具(Mahout/scikit-learn/Weka)来实现

数据应用层
主要是建立价值层与产品的直接联系,让发掘出来的规律直接应用在提升产品品质或其它方面,这一层的任务主要在于建立从分类库、知识库到产品的管道

以上各层最终应该形成一个闭环,不断优化成长

一个数据应用闭环(转载)

时间: 2024-10-06 17:50:05

一个数据应用闭环(转载)的相关文章

如何把一个数据存到文件系统中?是怎么存的?--【sky原创】

块设备文件: 表示文件系统高速缓存的设备,例如硬盘驱动器 设备文件: 表示非高速缓存的设备,例如磁带驱动器.鼠标和系统终端 那么如何把一个数据存到文件系统中?是怎么存的? 一般地,我们认为文件就是文件的数据信息,它存放在磁盘上,如果单纯的这样理解就错了 和每一个文件相关的信息都会放在索引节点上,比方说它是字符设备的话,就是字符设备文件,还有它的权限,属组,以及大小.更新时间等信息都属于文件的相关信息,如果一个文件的大小是1kb的话,那么实际拷贝文件的话,所需要的空间要大于1kb,因为它还要拷贝索

Java基础02 方法与数据成员(转载)

对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象. 调用同一对象的数据成员 方法可以调用该对象的数据成员.比如下面我们给Human类增加一个getHeight()的方法.该方法返回height数据成员的值: public class Test{    public static void main(String[] args){        Human aPer

sql 数据库中只靠一个数据,查询到所在表和列名

有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,在网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的.只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名. 前提是要将这个存储过程放在所查询的数据库. 注:1步骤是创建存储过程,可以在任何一个数据库中使用,2步骤是调用它来查找数据库中所有牵扯到的列以及对应的表. 只需要一个数据 真是非常方便 一.首先 点击新建查询 ,左上角选择到自己的数据库,然后把下面这段复制进去  然后运行 CREATE PROCEDURE [

十步优化SQL Server中的数据访问(转载)

原文地址:http://tech.it168.com/a2009/1125/814/000000814758.shtml 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因. 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型 的对象时检测到循环引用. 异常信息(部分): System.Web.Services.Protocols.SoapException: 服务器无法处理请求. ---> System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 序列化类型 Web

在一组降序排列的数组中插入一个数据,插入后,数组中数据依然按降序排列

分析: 1.数组固定,是一个倒序的数组 2.插入一个数据,这个数据插在哪呢,要比较,与数组中所有的元素比较,这里需要一个循环,因为是降序的数组,所以当第一次遇到比自己小的,那么这个位置就是要插入的位置 3.因为上一步被占了位置,那么从这个插入的数据开始,后面的原本的数据都得向右移一位 /** * */ package com.cn.u4; import java.util.Scanner; /** * @author Administrator *向有序数组中插入学员成绩 * 在一组降序排列的数

ADO.NET快速入门——利用Command对象的ExecuteScalar()方法返回一个数据值

相关知识: 有些SQL操作,例如SUM,只会从数据库返回一个数据值,而不是多行数据 尽管也可以使用ExecuteReader()返回一个DataReader对象,代表该数据值,但是使用Command对象的ExecuteScalar方法更加方便 ExecuteScalar()方法:该方法只能执行SELECT语句,通常用于统计,例如返回符合条件的记录个数 代码示例: 1 using System; 2 using System.Collections.Generic; 3 using System.

oracle恢复案例:rename一个数据文件后做不完全恢复

案例:rename一个数据文件后做不完全恢复 SQL>startup mount:   //启动到mount状态 SQL> show parameter control_files    //查看控制文件的位置信息 NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ contro

一个数据组的筛选器

一个数据组的筛选器:对一个二维母数组$motherArr,经过一个由N条苛刻条件组成的筛选器的筛选,获取到进入筛选器数据组成的子数组$sonFirArr和筛选器外的数据组成的子数组$sonSecArr,然后随机从子数组$sonFirArr中取出(count($sonFirArr)*m%)个元素,得到孙数组$grandsonFirArr,进一步获取母数组$motherArr中对孙数组$grandsonFirArr的互补孙数组$grandsoSecArr,即孙数组$grandsonFirArr和孙数