學習筆記,每一天我們都在進步。
2009/06/30 15:12
修改配置文件,使用block类型的压缩,压缩方式有几种可以选择,这里用的是gzip压缩。
<property>
  <name>mapred.output.compress</name>
  <value>true</value>
  <description>Should the job outputs be compressed?
  </description>
</property>

<property>
  <name>mapred.output.compression.type</name>
  <value>BLOCK</value>
  <description>If the job outputs are to compressed as SequenceFiles, how should
               they be compressed? Should be one of NONE, RECORD or BLOCK.
  </description>
</property>

<property>
  <name>mapred.output.compression.codec</name>
  <value>org.apache.hadoop.io.compress.GzipCodec</value>
  <description>If the job outputs are compressed, how should they be compressed?
  </description>
</property>

BZip2Codec,DefaultCodec
2009/06/30 15:09
执行hadoop balancer出现空指针异常

配置文件fs.default.name
加上端口号,问题解决。。。
2009/05/19 17:51
1.JAVA基本数值型和String型数据

    //插入记录
    String aKey = "myLong";
    DatabaseEntry theKey = new DatabaseEntry(aKey.getBytes("UTF-8"));    

    // Now build the DatabaseEntry using a TupleBinding
    Long myLong = new Long(123456789l);
    DatabaseEntry theData = new DatabaseEntry();
    EntryBinding myBinding = TupleBinding.getPrimitiveBinding(Long.class);
    myBinding.objectToEntry(myLong, theData);

    // Now store it
    myDatabase.put(null, theKey, theData);

  
    //读出记录
    String aKey = "myLong";
    DatabaseEntry theKey = new DatabaseEntry(aKey.getBytes("UTF-8"));
    
    // Need a DatabaseEntry to hold the associated data.
    DatabaseEntry theData = new DatabaseEntry();

    // Bindings need only be created once for a given scope
    EntryBinding myBinding = TupleBinding.getPrimitiveBinding(Long.class);

    // Get it
    OperationStatus retVal = myDatabase.get(null, theKey, theData,
                                            LockMode.DEFAULT);
2009/05/19 17:50
一、             简介
       Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据。
l         能够高效率的处理1到1百万条记录,制约JE数据库的往往是硬件系统,而不是JE本身。
l         多线程支持,JE使用超时的方式来处理线程间的死琐问题。
l         Database都采用简单的key/value对应的形式。
l         事务支持。
l         允许创建二级库。这样我们就可以方便的使用一级key,二级key来访问我们的数据。
l         支持RAM缓冲,这样就能减少频繁的IO操作。
l         支持日志。
l         数据备份和恢复。
l         游标支持。
二、             获取JE
JE下载地址:
http://www.oracle.com/technology/software/products/berkeley-db/je/index.html
解开包后 把JE_HOME/lib/je-.jar 中的jar文件添加到你的环境变量中就可以使用je了。
相关帮助文档可以参考 JE_HOME/docs/index.html
源代码见JE_HOME/src/*.*
三、             JE常见的异常
DatabaseNotFoundException 当没有找到指定的数据库的时候会返回这个异常
DeadlockException 线程间死锁异常
RunRecoveryException 回收异常,当发生此异常的时候,你必须得重新打开环境变量。
四、             关于日志文件必须了解的六项
JE的日志文件跟其他的数据库的日志文件不太一样,跟C版的DBD也是有区别的
l         JE的日志文件只能APPEND,第一个日志文件名是 00000000.jdb,当他增长到一定大小的时候(默认是10M),开始写第二个日志文件00000001.jdb,已此类推。
l         跟C版本有所不同,JE的数据日志和事务日志是放在一起的,而不是分开放的。
l         JE cleaner负责清扫没用到的磁盘空间,删除后,或者更新后新的记录会追加进来,而原有的记录空间就不在使用了,cleaner负责清理不用的空间。
l         清理并不是立即进行的,当你关闭你的数据库环境后,通过调用一个cleaner方法来清理。
l         清理也不是只动执行的,需要你自己手动调用cleaner 方法来定时清理的。
l         日志文件的删除仅发生在检查点之后。cleaner准备出哪些log 文件需要被删除,当检查点过后,删掉一些不在被使用的文件。每写20M的日志文件就执行一次检查点,默认下。
五、             创建数据库环境
JE要求在任何DATABASE操作前,要先打开数据库环境,就像我们要使用数据库的话必须得先建立连接一样。你可以通过数据库环境来创建和打开database,或者更改database名称和删除database.
可以通过Environments对象来打开环境,打开环境的时候设置的目录必须是已经存在的目录,否则会出错误。默认情况下,如果指定的database不存在则不会自动创建一个新的detabase,但可以通过设置setAllowCreate来改变这一情况。
2009/05/19 17:41
package test;
import com.sleepycat.je.*;
import com.sleepycat.bind.EntryBinding;
import com.sleepycat.bind.tuple.TupleBinding;
import com.sleepycat.bind.serial.StoredClassCatalog;
import com.sleepycat.bind.serial.SerialBinding;
import java.io.File;
public class test {
    public static void main(String[] args) {
    
    }
    
    /**
     * 打开和关闭环境,示例一
     *
     */
    public void eg1(){
        //----打开环境,如果不存在,则创建一个------------
        Environment myDbEnvironment=null;
        try {
            EnvironmentConfig envConfig = new EnvironmentConfig();
            envConfig.setAllowCreate(true); //true不存在就创建,false如果不存在则打开环境失败
            //envConfig.setReadOnly(true); //true 以只读方式打开,如果是多进程应用,每个进程都要设置为true
            //envConfig.setTransactional(true);//true支持事务,false不支持,默认false。可以更改配置文件来设置此参数。
            myDbEnvironment = new Environment(new File(".//"), envConfig);//环境所在路径
            java.util.List myDbNames = myDbEnvironment.getDatabaseNames(); //得到所有的数据库的名字
            for(int i=0; i
                System.out.println("Database Name: " + (String)myDbNames.get(i));
            }
        } catch (DatabaseException dbe) {
分页: 1/48 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]