老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何實現一個MapReduce讀取數據存入HBase

這篇文章給大家介紹如何實現一個MapReduce讀取數據存入HBase,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創新互聯公司專業為企業提供襄城網站建設、襄城做網站、襄城網站設計、襄城網站制作等企業網站建設、網頁設計與制作、襄城企業網站模板建站服務,十多年襄城做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

車輛位置數據文件,格式:車輛id  速度:油耗:當前里程。

通過MapReduce算出每輛車的平均速度、油耗、里程

vid1 78:8:120
vid1 56:11:124
vid1 98:5:130
vid1 72:6:131
vid2 78:4:281
vid2 58:9:298
vid2 67:15:309

創建Map類和map函數

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class VehicleMapper extends Mapper {

	@Override
	public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
		String vehicle = value.toString();// 將輸入的純文本的數據轉換成String
		// 將輸入的數據先按行進行分割
		StringTokenizer tokenizerArticle = new StringTokenizer(vehicle, "\n");
		// 分別對每一行進行處理
		while (tokenizerArticle.hasMoreTokens()) {
			// 每行按空格劃分
			StringTokenizer tokenizer = new StringTokenizer(tokenizerArticle.nextToken());
			String vehicleId = tokenizer.nextToken(); // vid
			String vehicleInfo = tokenizer.nextToken(); // 車輛信息
			Text vid = new Text(vehicleId);
			Text info = new Text(vehicleInfo);
			context.write(vid, info);
		}
	}

}

創建Reduce類

import java.io.IOException;

import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.Text;

public class VehicleReduce extends TableReducer {

	@Override
	public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException {
		int speed = 0;
		int oil = 0;
		int mile = 0;
		int count = 0;
		for (Text val : values) {
			String str = val.toString();
			String[] arr = str.split(":");
			speed += Integer.valueOf(arr[0]);
			oil += Integer.valueOf(arr[1]);
			mile += Integer.valueOf(arr[2]) - mile; // 累積里程
			count++;
		}
		speed = (int) speed / count; // 求平均值
		oil = (int) oil / count;
		mile = (int) mile / count;
		String result = speed + ":" + oil + ":" + mile;

		Put put = new Put(key.getBytes());
		put.add(Bytes.toBytes("info"), Bytes.toBytes("property"), Bytes.toBytes(result));
		ImmutableBytesWritable keys = new ImmutableBytesWritable(key.getBytes());
		context.write(keys, put);
	}

}

運行任務

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

public class VehicleMapReduceJob {

	public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {
		Configuration conf = new Configuration();
		conf = HBaseConfiguration.create(conf);
		Job job = new Job(conf, "HBase_VehicleInfo");
		job.setJarByClass(VehicleMapReduceJob.class);
		job.setMapperClass(VehicleMapper.class);
		job.setMapOutputKeyClass(Text.class);
		job.setMapOutputValueClass(Text.class);
		FileInputFormat.addInputPath(job, new Path(args[0])); // 設置輸入文件路徑
		TableMapReduceUtil.initTableReducerJob("vehicle", VehicleReduce.class, job);
		System.exit(job.waitForCompletion(true) ? 0 : 1);
	}

}

將代碼導出成vehicle.jar,放在hadoop-1.2.1目錄下,輸入命令

./bin/hadoop jar vehicle.jar com/xh/vehicle/VehicleMapReduceJob input/vehicle.txt

如何實現一個MapReduce讀取數據存入HBase

HBase結果查詢:

如何實現一個MapReduce讀取數據存入HBase

關于如何實現一個MapReduce讀取數據存入HBase就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


本文題目:如何實現一個MapReduce讀取數據存入HBase
標題URL:http://www.xueling.net.cn/article/gpjphi.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 久久亚洲精品无码Va白人极品 | 国产视频a | 免费人妻无码不卡中文字幕系列 | 亚洲精品成人无限看 | 99热久久精里都是精品6 | 91免费在线?看网站 精东av在线 | 亚洲人成人网站在线观看 | 欧美精品一本久久男人的天堂 | 视频亚洲一区二区 | 久99久人碰人视频在线 | 日日日夜夜操 | 99国产在线拍91揄自揄视 | 亚洲中文字慕日产2021 | 成人免费视频亚洲 | 中文字幕中文字字幕码一二区 | 人妻丝袜无码专区视频网站 | 日本肉体裸交XXXXBBBB | JIZZJIZZ亚洲日本少妇 | 中国少妇无码专区 | 日韩人妻无码精品无码中文字幕 | eeuss鲁丝片AV无码 | 国产免费播放一区二区三区 | 久久人人爽人人爽人人片亚洲 | 91看片王| 国产午夜精华液 | 欧美黄视频网站 | 日本欧美爱爱爱 | 国产一区二区网 | 最新激情网站 | 呻吟求饶的人妻中文字幕 | 亚洲国产人成自精在线尤物 | 亚洲午夜久久久国产精品 | 久久99日| 91精品亚?影视在线?看 | 九九激情网 | 九九一级片 | 麻豆免费在线观看视频 | 国产一级黄色录像片 | 色播播网 | 天天躁日日躁狠狠躁性色AV | 56精品视频在线播放免费观看 |