详说大数据计算的可类化Classable

可类化(Classable)是Laxcus大数据管理系统提供的一项基础功能,它能够将类转化为一串字节数组,或者逆向将字节数组转化为一个类。这项功能与JAVA提供的序列化(Serializable)非常相似,但是不同之处在于,可类化是可以由用户自己定义的,包括数据的选择、数据的样式、数据结构等一系列的规则。

这样的好处在于,我们摆脱了JAVA序列化的那种由系统硬性规定的固定格式,可以自由组织我们需要的数据,包括一些可能是私密的数据;不便在于,因为这种自由,程序员需要做些牺牲,编写代码来实现这项技术。

尽管这样,Laxcus大数据管理系统已经将这项工作做至极简。API中提供了可类化接口,用户需要做的,是在自己的类中继承这个接口,接口只有两个方法:

<1> int build(ClassWriter writer);

<2> int resolve(ClassReader reader);

第一个方法是将类输出到可类化写入器(ClassWriter)中,写入器能够写入目前已知的所有格式的数据。

第二个方法是对写入操作的反向动作,把数据从可类化读取器(ClassReader)还原到类里。

设计可类化的初衷是因为,在之前的Laxcus大数据集群里,负责组织实施大数据计算的中间件计算组件,采用了JAVA系统默认的序列化来产生数据。序列化产生数据量非常庞大,对网络通信、网络计算、数据存储都造成了巨大的担负。更关键的问题是,在序列化的数据里面,有很多数据是计算过程中并不需要的,它们成为大数据计算的数据“鸡肋”。

目前的Laxcus中间件计算组件,经过可类化改造后,在Laxcus大数据集群里传输的数据量明显减少,普遍减少量在4-5倍左右,个别已经超过10倍。数据在网络中的传输速度,以及计算机对数据的处理反应能力也得到明显的提高。

可类化对提升大数据能力非常有效。

?

时间: 2024-11-01 16:25:36

详说大数据计算的可类化Classable的相关文章

一文读懂大数据计算框架与平台

1.前言 计算机的基本工作就是处理数据,包括磁盘文件中的数据,通过网络传输的数据流或数据包,数据库中的结构化数据等.随着互联网.物联网等技术得到越来越广泛的应用,数据规模不断增加,TB.PB量级成为常态,对数据的处理已无法由单台计算机完成,而只能由多台机器共同承担计算任务.而在分布式环境中进行大数据处理,除了与存储系统打交道外,还涉及计算任务的分工,计算负荷的分配,计算机之间的数据迁移等工作,并且要考虑计算机或网络发生故障时的数据安全,情况要复杂得多. 举一个简单的例子,假设我们要从销售记录中统

上:Spark VS Flink – 下一代大数据计算引擎之争,谁主沉浮?

作者简介 王海涛,曾经在微软的 SQL Server和大数据平台组工作多年.带领团队建立了微软对内的 Spark 服务,主打 Spark Streaming.去年加入阿里实时计算部门,参与改进阿里基于 Apache Flink 的Blink 平台. 导读: 做大数据绝对躲不过的一个热门话题就是实时流计算,而提到实时流计算,就不得不提 Spark 和 Flink.Spark 从 2014 年左右开始迅速流行,刚推出时除了在某些场景比 Hadoop MapReduce 带来几十到上百倍的性能提升外,

如何解决大数据计算中常见的数据倾斜问题?

数据倾斜是在大数据计算中常见的问题,用最通俗易懂的话来说,数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了'一个人累死,其他人闲死'的情况,这种情况是我们不能接受的,这也违背了并行计算的初衷,首先一个节点要承受着巨大的压力,而其他节点计算完毕后要一直等待这个忙碌的节点,也拖累了整体的计算时间,可以说效率是十分低下的.以下针对spark具体计算场景,给出数据倾斜解决方案:场 景当RDD执行reduceByKey等聚合类shuffle算子或者在Spark SQL中使用gr

SPARK大数据计算BUG处理:

大数据计算BUG处理: 程序修改前资源情况: Driver : 1台 Worker : 2台 程序提交申请内存资源 : 1G内存 内存分配情况 : 1. 20%用于程序运行 2. 20%用于Shuffle 3. 60%用于RDD缓存 单条TweetBean大小 : 3k 1. 内存溢出 原因:因为程序会把所有的TweetBean查询出来并且合并(union),该操作在内存中进行.则某个campaign数据量较大时,如500W数据,则500W*10k=50G,超出内存限制. 解决方法: 先按数据量

典型大数据计算模式与系统

典型大数据计算模式 典型系统 大数据查询分析计算 HBase,Hive,Cassandra,Impala,Shark,Hana等 批处理计算 Hadoop MapReduce,Spark等 流式计算 Scribe,Flume,Storm,S4, Spark Steaming等 迭代计算 HaLoop,iMapReduce,Twister,Spark等 图计算 Pregel,Giraph,Trinity,PowerGraph,GraphX等 内存计算 Dremel,Hana,Spark等

大数据计算平台Spark内核全面解读

1.Spark介绍 Spark是起源于美国加州大学伯克利分校AMPLab的大数据计算平台,在2010年开源,目前是Apache软件基金会的顶级项目.随着Spark在大数据计算领域的暂露头角,越来越多的企业开始关注和使用.2014年11月,Spark在Daytona Gray Sort 100TB Benchmark竞赛中打破了由Hadoop MapReduce保持的排序记录.Spark利用1/10的节点数,把100TB数据的排序时间从72分钟提高到了23分钟. Spark在架构上包括内核部分和4

一分钟了解阿里云产品:大数据计算服务MaxCompute概述

阿里云发布了许多产品,今天让我们来了解下大数据计算服务MaxCompute这款产品吧. 什么是MaxCompute呢? MaxCompute是由阿里云自主研发,是阿里巴巴自主研发的海量数据处理平台.提供针对TB/PB级数据.实时性要求不高的分布式处理能力,应用于数据分析.挖掘.商业智能等领域.主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务.阿里巴巴的离线数据业务都运行在MaxCompute上. MaxCompute有什么优势和特点呢?下面让我来简

Cubert:LinkedIn开源的大数据计算引擎

近日, Linkedin 宣布开源其正在使用的大数据计算引擎 Cubert ,该框架提供了一种新的数据模型来组织数据,并使用诸如MeshJoin 和Cube算法等算法来对组织后的数据进行计算,从而减轻了系统负荷和节省了CPU资源,最终提供给用户一个简单.高效的查询.Cubert比较适合的计 算领域包括统计计算.聚合.时间距离计算.增量计算.图形计算等. Cubert整个架构可分为三层,第一层是数据流语言层,主要用来实现执行计划,包括 Apache Pig . Apache Hive 以及Cube

揭秘阿里云EB级大数据计算引擎MaxCompute

日前,全球权威咨询与服务机构Forrester发布了<The Forrester WaveTM: Cloud Data Warehouse, Q4 2018>报告.这是Forrester Wave首次发布关于云数仓解决方案(Cloud Data Warehouse,简称CDW)的测评.报告对云数仓的当前产品功能.产品路线和发展策略.市场表现等几个方面进行全面的评估,在产品能力排行榜中,阿里云力压微软排行第7. Forrester测评报告对CDW核心功能的评估主要从解决方案的多样性.数据集成.性