自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Everything should be made as simple as possible, but no simpler

  • 博客(11)
  • 资源 (6)
  • 收藏
  • 关注

原创 Hadoop/Hive简介

Hadoop是一个存储计算框架,主要由两部分组成: 存储(Hadoop分布式文件系统-HDFS) 计算(MapReduce计算框架) Hadoop分布式文件系统 这是一种文件系统实现,类似于NTFS,ext3,ext4等等,不过它是建立在更高的层次之上的。在HDFS上存储的文件被分成块(每块默认未64M,比一般的文件系统块大小大的多,可调)分布在

2011-11-22 15:01:13 4054

原创 Java中比对字符串内容的注意点

Java中如果两个字符串s1和s2的内容相同,那么它们用==操作符比较,也可能返回false,这是因为Java中变量未引用传递,两个相同内容的字符串可能隶属于不同的字符串对象,所以为了稳妥起见,比较字符串时要使用equals方法来比较两个字符串的内容: import java.util.Iterator; import java.util.Map.Entry; import

2011-11-19 19:49:37 3326

原创 关于Hadoop的InputFormat类

org.apache.hadoop.mapreduce.InputFormat是一个抽象类,关于这个抽象类的功能描述如下: 首先为Job验证输入;将输入的文件分成逻辑上的splits,每个split会被应用到一个单独的mapper上;提供RecorderReader的实现,用来从逻辑split中一点一点的收集数据到mapper中。 这个抽象类中,有两个抽象方法需要实现: 1.

2011-11-12 20:16:13 2618

翻译 Hadoop之更快的排序

键默认的排序处理是,从一个流中读键类型的实例,使用键类型的readFields()方法来解析字节流,然后对这两个对象调用compareTo()方法。为了更快的排序,可以只通过检视字节流而不用解析出包含在其中的数据来判断这两个key的顺序。比如,考虑比较字符串文本。如果字符按照顺序读入,我们就可以在第一个字符不同的地方确定它们的顺序。即使是需要读入所有的字节,对象自身也没有初始化的必要。要支持这个高

2011-11-11 18:06:10 1943

翻译 Hadoop之个性化键类型

前面我们的Piont3D类型能够作为一个值来满足mapper的使用。但是如果我们也想用Point3D对象作为键呢?在Hadoop的MR中,如果向一个reduce任务分发不同的(key, value)对,reducer将有序地对键进行处理。所以键的类型必须实现一个更加严格的接口,WritableComparable。除了它是一个Writable,可以被在网络传输之外,它们也遵循Java的Compar

2011-11-11 16:34:41 995

翻译 Hadoop之个性化数据类型

Hadoop在与用户写的Mapper和Reducer通信的时候,总是使用类型化的数据:从文件读入到Mapper中,Mappers向Reducers提交和Reducers到输出文件,都是存储在Java对象中的。 Writable 类型 可以和文件和网络相互通信的对象必须遵循特定的接口,叫做Writable,它允许Hadoop以一种序列化的形式读写数据以适应于传输。Hadoop提供了几个已

2011-11-11 16:16:57 2713 1

原创 对Hadoop二次排序的理解

MR默认会对键进行排序,然而有的时候我们也有对值进行排序的需求。满足这种需求一是可以在reduce阶段排序收集过来的values,但是,如果有数量巨大的values可能就会导致内存溢出等问题,这就是二次排序应用的场景——将对值的排序也安排到MR计算过程之中,而不是单独来做。 首先我们要了解java中排序的机制,在java中一切都是对象,而在我们的基本数据类型中都有本类的比较策略,这样任何

2011-11-11 02:40:41 11441

翻译 Hadoop二次排序

MapReduce框架在把记录到达reducers之前会将记录按照键排序。对于任意一个特殊的键,然而,值是不排序的。甚至是,值在两次执行中的顺序是不一样的,原因是它们是从不同的map中来的,这些不同的map可能在不同的执行过程中结束的先后顺序不确定。通常情况下,大多数的MapReduce程序的reduce函数不会依赖于值的顺序。然而,我们也可通过以一种特殊的方式排序和分组键,来指定值的顺序。

2011-11-10 01:10:59 5581

原创 关于HDFS数据流的一点备忘

以前工作的时候曾经有个想法,就是将集群中存储的文件做一次遍历,把没有压缩的压缩掉!可一直没有时间实现,今天闲来无事,研究了一下,以下代码应该是核心了,也与大家一起分享一下: 从这个例子扩展,可以遍历HDFS将需要压缩的文件用指定的压缩格式进行压缩。 import java.io.BufferedInputStream; import java.net.URI;

2011-11-08 15:18:34 1354

原创 关于ByteBuffer中flip和rewind方法的作用说明

关于flip,看到JDK的文档大概是这么说的:“将limit属性设置为当前的位置”;而关于rewind方法,是在limit属性已经被设置合适的情况下使用的。也就是说这两个方法虽然都能够使指针返回到缓冲区的第一个位置,但是flip在调整指针之前,将limit属性设置为当前位置。以下程序可以验证: package com.example.tests; import java.nio.ByteBu...

2011-11-07 01:07:46 20572 3

转载 hive中的外表EXTERNAL TABLE

原文:http://www.oratea.net/?p=489 在hive中,外表是个很重要的组成部分,通过外表可以很方便进行数据的共享。 因为普通的表会将数据文件拷贝自己的目录下,这样想要分享数据只能保存多份数据。 但是外表很好的解决了这个问题。 CREATE EXTERNAL TABLE sunwg_test09(id INT, name string) ROW FORMAT

2011-11-02 15:18:21 19374 1

ASGI 3.0规范中文版.pdf

ASGI规范 3.0;主要用于ASGI服务器的设计和开发提供基础协议规范,具体服务器实现有Django Daphne/Uvcorn这两个代表;现在Django 3 也直接集成了异步功能。

2019-12-20

Serious Python中文版.docx

Serious Python中文版(无关系数据库一章),希望对需要的同学有帮助。

2019-07-09

设计模式 书籍 程序设计

设计模式的经典巨著 参与写作的都是些牛人 哈

2009-03-13

Erlang programing

Erlang Programing Joe Armstrong

2008-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除