`

InputFormat牛逼(1)org.apache.hadoop.mapreduce.lib.db.DBWritable

 
阅读更多
@Public
@Stable

Objects that are read from/written to a database should implement DBWritable. DBWritable, is similar to Writable except that the write(PreparedStatement) method takes a PreparedStatement, and readFields(ResultSet) takes a ResultSet.

Implementations are responsible for writing the fields of the object to PreparedStatement, and reading the fields of the object from the ResultSet.

Example:

If we have the following table in the database :
CREATE TABLE MyTable (
   counter        INTEGER NOT NULL,
   timestamp      BIGINT  NOT NULL,
);

then we can read/write the tuples from/to the table with :

public class MyWritable implements Writable, DBWritable {
   // Some data    
   private int counter;
   private long timestamp;
      
   //Writable#write() implementation
   public void write(DataOutput out) throws IOException {
     out.writeInt(counter);
     out.writeLong(timestamp);
   }
      
   //Writable#readFields() implementation
   public void readFields(DataInput in) throws IOException {
     counter = in.readInt();
     timestamp = in.readLong();
   }
      
   public void write(PreparedStatement statement) throws SQLException {
     statement.setInt(1, counter);
     statement.setLong(2, timestamp);
   }
      
   public void readFields(ResultSet resultSet) throws SQLException {
     counter = resultSet.getInt(1);
     timestamp = resultSet.getLong(2);
   }
}

---------------
@InterfaceAudience.Public
@InterfaceStability.Stable
public interface DBWritable {

  /**
   * Sets the fields of the object in the {@link PreparedStatement}.
   * @param statement the statement that the fields are put into.
   * @throws SQLException
   */
public void write(PreparedStatement statement) throws SQLException;

/**
* Reads the fields of the object from the {@link ResultSet}.
* @param resultSet the {@link ResultSet} to get the fields from.
* @throws SQLException
*/
public void readFields(ResultSet resultSet) throws SQLException ;
}
分享到:
评论

相关推荐

    hadoop2lib.tar.gz

    Hadoop2lib还可能包含Hadoop MapReduce库,这是实现MapReduce任务的关键,它提供了编写和执行MapReduce作业所需的类和接口。此外,YARN(Yet Another Resource Negotiator)作为Hadoop 2.x的新特性,是资源管理和...

    CustomInputFormatCollection:Hadoop Mapreduce InputFormat 集合

    Hadoop 代码使用方式 job.setInputFormatClass(SmallFileCombineTextInputFormat.class);...org.apache.hadoop.mapreduce.sample.SmallFileWordCount -Dmapreduce.input.fileinputformat.split.maxsize=10

    hadoop api.doc

    1. **org.apache.hadoop.conf**: 这个包包含了处理配置参数的类,如`Configuration`,它是Hadoop中配置系统参数的主要接口。用户可以通过它来设置或获取Hadoop集群的相关配置,例如DFS的默认块大小、 Namenode地址等...

    hadoop-3.1.3-src.tar.gz

    - **核心类库**:如`org.apache.hadoop.fs.FileSystem`、`org.apache.hadoop.mapreduce.Job`等,提供了与HDFS交互和MapReduce编程的基本接口。 4. **开发与调试** - **Hadoop API**:学习如何使用Hadoop API开发...

    hive inputformat

    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; public class CustomSpaceDelimitedInputFormat extends FileInputFormat, Text> { @Override public RecordReader, Text> createRecordReader...

    MapReduce之wordcount范例代码

    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; public class WordCount { public static class TokenizerMapper extends Mapper, Text, Text, IntWritable>{ private final static ...

    Hadoop.MapReduce.分析

    - **新代码**:主要位于`org.apache.hadoop.mapreduce.*`,包含36,915行代码,这部分代码进行了重构,提高了代码质量和可维护性。 - 辅助类:分别位于`org.apache.hadoop.util.*`(148行)和`org.apache.hadoop.file...

    hadoop源码分析-mapreduce部分.doc

    在源码层面,org.apache.hadoop.mapreduce包包含了关键的接口和类。Writeable、Counter和ID相关类处理计数和标识,Context类提供Mapper和Reducer所需的上下文信息,Mapper、Reducer和Job类定义了MapReduce的基本操作...

    自定义MapReduce的InputFormat

    1. **创建一个新的类**:首先,你需要创建一个继承自`org.apache.hadoop.mapreduce.InputFormat`的类。这个类将覆盖父类的方法来实现自定义的输入处理逻辑。 2. **实现`getSplits()`方法**:此方法用于将输入数据...

    Hadoop 0.20.2 API

    1. **org.apache.hadoop**: 这是Hadoop的核心库,包含了与HDFS、MapReduce以及其他核心服务相关的类和接口。例如,`FileSystem`接口提供了对HDFS的操作,如打开、关闭和读写文件;`JobConf`类用于配置MapReduce作业...

    hadoop eclipse mapreduce 下开发所有需要用到的 JAR 包

    1. **hadoop-core.jar**:这是Hadoop的主要库,包含了MapReduce的基本组件,如InputFormat、OutputFormat、Mapper、Reducer等类。 2. **hadoop-client.jar**:这个JAR包包含了Hadoop客户端所需的全部依赖,包括HDFS...

    MapReduce源码分析

    相反,OutputFormat接口定义了如何将Reduce任务的输出写回存储系统,`org.apache.hadoop.mapreduce.lib.output.FileOutputFormat`则是常见的输出格式。 **Job与TaskTracker** 在MapReduce框架中,JobTracker是任务...

    中的接口).docx

    在Hadoop 2.x版本之后,MapReduce的API经历了一次重大的更新,产生了两个主要的版本:旧版的`org.apache.hadoop.mapred`和新版的`org.apache.hadoop.mapreduce`。本文将主要探讨旧版的`org.apache.hadoop.mapred`...

    Hadoop CountWord 例子

    import org.apache.hadoop.mapreduce.Mapper; public class WordCountMapper extends Mapper, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new...

    hadoop-mapreduce

    通常会有自定义的Mapper和Reducer类,它们继承自Hadoop提供的基类,如`org.apache.hadoop.mapreduce.Mapper`和`org.apache.hadoop.mapreduce.Reducer`。此外,可能还有自定义的Driver类,它负责配置和启动MapReduce...

    Java-API-Operate-Hadoop.rar_hadoop_hadoop api

    它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,而Java API是开发者与Hadoop交互的主要方式。本文将深入探讨Java如何操作Hadoop,以及在"Java-API-Operate-Hadoop.rar"压缩包中提供的资源。 ...

    Hadoop MapReduce Cookbook 源码

    1. **Hadoop环境搭建**:讲解如何安装配置Hadoop分布式文件系统(HDFS)和MapReduce框架,包括集群部署和单机模拟。 2. **MapReduce编程模型**:介绍Map和Reduce函数的编写,以及Combiner和Partitioner的使用,它们...

    hadoop-lzo-lib

    编译环境:centos 6.4 64bit、maven 3.3.9、jdk1.7.0_79、lzo-2.09;...解决:hive报错:Cannot create an instance of InputFormat class org.apache.hadoop ....... as specified in mapredwork!

    如何通过java程序获得Nutch中网页的详细信息

    5. **Hadoop Interaction**:如果你的Nutch数据存储在Hadoop的HDFS上,那么你还需要使用Hadoop的API,如`FileSystem`和`InputFormat`,来读取和处理数据。 下面是一个简单的Java示例,展示如何从Nutch段中提取信息...

    Java编写Mapreduce程序过程浅析

    1. **Mapper类**:实现`org.apache.hadoop.mapreduce.Mapper`接口,处理输入键值对并生成中间键值对。 2. **Reducer类**:实现`org.apache.hadoop.mapreduce.Reducer`接口,负责对Map阶段的结果进行规约,生成最终...

Global site tag (gtag.js) - Google Analytics