版权申明:转载请注明出处。 文章来源:玄涧思库 1.数据分块 HDFS作为Hadoop中的一个分布式文件系统,而且是专门为它的 MapReduce设计,所以HDFS除了必须满足自己作为分布式文件系统的高可靠性外,还必须为MapReduce提供高效的读写性能,那么HDFS是 如何做到这些的呢?首先,HDFS将每一个文件的数据进行分块存储,同时每一个数…
版权申明:转载请注明出处。 文章来源:玄涧思库 前面一篇文章Java注解之基本知识已经介绍了什么是Java注解,以及相关的知识,本篇文章将介绍如何自定义一个用于源码时的注解,并自定义注解处理器来处理这个注解。 1.背景 源码时注解我们比较熟悉的有@Override,用于在源码编译前提示错误等。本篇文章将自定义一个简单的注解,它用在方法上,作用在编译…
版权申明:转载请注明出处。 文章来源:玄涧思库 1.前端埋点数据建设目标及现状分析 准确性 数据的准确性是数据建设的根本,前端数据的准确性目标是与后端数据对齐,但是目前限于js的加载顺序以及网络状况等准确性约为后端数据的90%左右。 实时性 数据实时性的建设目标为用户的行为能被第一时间感知和上报,目前的多种js收集方式均能较好的满足。 开发效率 添…
版权申明:转载请注明出处。 文章来源:玄涧思库 Java注解出现的初衷是为了解决大量配置文件带来的问题,现在注解已经变的非常的有用和强大。它可以在你编写源码时提示错误比如常见的@Override,也可以在编译时生成代码,更能在运行时结合反射机制获取被标注的对象,然后进行逻辑处理。有了这些功能,我们就可以造出非常易用的轮子,别人使用我们的注解就可以轻…
版权申明:转载请注明出处。 文章来源:玄涧思库 1.问题描述 最近在搞注解处理器,继承了javax.annotation.processing.AbstractProcessor,idea编辑器提示Usage of API documented as @since 1.6+ more... (Ctrl+F),但是项目运行没有问题,我的jdk采用的是…
版权申明:转载请注明出处。 文章来源:玄涧思库 1.SquenceFile简介 (1)SequenceFile是一个由二进制序列化过的key/value的字节流组成的存储文件。 (2)SequenceFile可通过fileWriter.append(key,value)来完成新记录的添加操作。 (3)在存储结构上,SequenceFile主要由一个…
版权申明:转载请注明出处。 文章来源:玄涧思库 1.protobuffer简介 protobuffer是google定义的一种文件交换格式,它独立于语言,独立于平台。目前提供了Java、C++、Python等语言实现,用户只需要定义协议文件就可以生成对应语言的源码文件。因其解析速度快,生成的文件占存储小等优点,目前广泛运用于许多项目,如大数据生态圈…
版权申明:转载请注明出处。 文章来源:玄涧思库 1.简介 分布式计算框架中,各种配置文件、jar包、数据文件等都是通过分布式文件缓存进行下发的。这种方式将作业所需的资源文件下发到执行作业的各个节点上,作业执行过程中文件不再改动。 关于hadoop的分布式缓存可以参见我的另外一篇文章Hadoop分布式缓存(DistributedCache),这篇文章…
版权申明:转载请注明出处。 文章来源:bigdataer.net 1.什么是spark-streaming? 实际生产中会有许多应用到实时处理的场景,比如:实时监测页面点击,实时监测系统异常,实时监测来自于外部的攻击。针对这些场景,twitter研发了实时数据处理工具storm,并在后来开源。spark针对这些场景设计了spark-streamin…
版权申明:转载请注明出处。 文章来源:http://bigdataer.net 1.scala中的函数 scala是一门面向对象和函数式编程相结合的语言,前面的文章已经讲了类、对象、继承等面向对象特有的语言特性,接下来将关注一下函数式编程的相关知识。在scala中,函数和变量一样,都是scala的一等公民。与函数相关的代码片段如下: //定义一个匿…