91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MapReduce on Hbase

發布時間:2020-06-21 06:43:10 來源:網絡 閱讀:755 作者:jethai 欄目:關系型數據庫


org.apache.hadoop.hbase.mapreduce


TableMapper  TableReducer


一個region對應一個map

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.hbase.mapreduce.TableMapper;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Reducer;

public class HbaseMR {

    public class MyMapper extends TableMapper<Text, Text> {

        @Override
        protected void map(ImmutableBytesWritable key, Result value,
                Context context) throws IOException, InterruptedException {
            // key代表rowkey
            Text k = new Text(Bytes.toString(key.get()));
            Text v = new Text(Bytes.toString(value.getValue(
                    "basicinfo".getBytes(), "age".getBytes())));

            context.write(v, k);

        }

    }

    public class MyReducer extends TableReducer<Text, Text, Text> {

        @Override
        protected void reduce(Text key, Iterable<Text> values, Context context)
                throws IOException, InterruptedException {
            Put put = new Put(Bytes.toBytes(key.toString()));
            for (Text value : values) {
                put.add(Bytes.toBytes("f1"), Bytes.toBytes(value.toString()),
                        Bytes.toBytes(value.toString()));
            }
            context.write(null, put);
        }

    }

    public static void main(String[] args) {
        Configuration conf=    HBaseConfiguration.create();
        try {
            Job job=new Job(conf, "mapreduce on hbase");
            job.setJarByClass(HbaseMR.class);
            Scan scan=new Scan();
            scan.setCaching(1000);//
            TableMapReduceUtil.initTableMapperJob("students", scan, MyMapper.class, Text.class, Text.class, job);
            TableMapReduceUtil.initTableReducerJob("student-age",  MyReducer.class,  job);
            job.waitForCompletion(true);
        } catch (Exception e) {
            
            e.printStackTrace();
        }
    }

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万源市| 吴堡县| 兰西县| 石棉县| 余干县| 红桥区| 蓝田县| 会同县| 彩票| 九龙坡区| 文昌市| 屯门区| 繁昌县| 溆浦县| 昆明市| 手游| 政和县| 庆云县| 惠水县| 昌宁县| 策勒县| 太原市| 伊吾县| 花莲市| 凯里市| 谷城县| 桦南县| 方山县| 酉阳| 冷水江市| 溧水县| 岐山县| 化德县| 呈贡县| 武乡县| 澄江县| 阿尔山市| 焦作市| 禄丰县| 苏尼特左旗| 崇文区|