20200603大数据mapreduce经典案例
reducejoin
product.txt
p0001,小米5,1000,2000
p0002,锤子T1,1000,3000
orders.txt
1001,20150710,p0001,2
1002,20150710,p0002,3
/*
K1: LongWritable
V1: Text
K2: Text 商品的id
V2: Text 行文本信息(商品的信息)
*/
public class ReduceJoinMapper extends Mapper<LongWritable,Text,Text,Text>{
/*
product.txt K1 V1
0 p0001,小米5,1000,2000
orders.txt K1 V1
0 1001,20150710,p0001,2
-------------------------------------------
K2 V2
p0001 p0001,小米5,1000,2000
p0001 1001,20150710,p0001,2
*/
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
//1:判断数据来自哪个文件
FileSplit fileSplit = (FileSplit) context.getInputSplit();
String fileName = fileSplit.getPath().getName();
if(fileName.equals("product.txt")){
//数据来自商品表
//2:将K1和V1转为K2和V2,写入上下文中
String[] split = value.toString().split(",");
String productId = split[0];
context.write(new Text(productId), value);
}else{
//数据来自订单表
//2:将K1和V1转为K2和V2,写入上下文中
String[] split = value.toString().split(",");
String productId = split[2];
context.write(new Text(productId), value);
}
}
}
public class JobMain extends Configured implements Tool {
@Override
public int run(String[] args) throws Exception {
//1:获取Job对象
Job job = Job.getInstance(super.getConf(), "reduce_join");
//2:设置job任务
//第一步:设置输入类和输入路径
job.setInputFormatClass(TextInputFormat.class);
TextInputFormat.addInputPath(job, new Path("xxxx"));
//第二步:设置Mapper类和数据类型
job.setMapperClass(ReduceJoinMapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
//第三,四,五,六
//第七步:设置Reducer类和数据类型
job.setReducerClass(ReduceJoinReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
//第八步:设置输出类和输出的路径
job.setOutputFormatClass(TextOutputFormat.class);
TextOutputFormat.setOutputPath(job, new Path("xxxxx"));
//3:等待job任务结束
boolean bl = job.waitForCompletion(true);
return bl ? 0: 1;
}
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
//启动job任务
int run = ToolRunner.run(configuration, new JobMain(), args);
System.exit(run);
}
}
输出结果:
p0001 p0001,小米5,1000,2000 1001,20150710,p0001,2
p0002 p0002,锤子T1,1000,3000 1002,20150710,p0002,3
mapreduce手机流量统计:
可自行查一下,因为数据量大且网上资料非常多
大概就是建一个手机的Bean类
然后mapreduce一下
Note:可以查下分区以及排序怎么实现,大致就是用Partitioner跟WritableComparable
共同好友:
数据:
A:B,C,D,F,E,O
B:A,C,E,K
C:A,B,D,E,I
D:A,E,F,L
E:B,C,D,M,L
F:A,B,C,D,E,O,M
G:A,C,D,E,F
H:A,C,D,E,O
I:A,O
J:B,O
K:A,C,D
L:D,E,F
M:E,F,G
O:A,H,I,J
public class Step1Mapper extends Mapper<LongWritable, Text,Text,Text> {
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
//1.以冒泡拆分行文本数据,冒泡左边就是V2
String[] split = value.toString().split(":");
String userStr = split[0];
//2.将冒泡右边的字符串以逗号拆分,每个成员就是k2
//拿A为例子。 split1就是 B,C,D,F,E,O
String[] split1 = split[1].split(",");
for(String s: split1){
//3.将k2和v2写入上下文中
context.write(new Text(s),new Text(userStr));
}
}
}
public class Step1Reducer extends Reducer<Text,Text,Text,Text> {
@Override
protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
//1:遍历集合,并将每一个元素拼接,得到K3
StringBuffer buffer = new StringBuffer();
for (Text value : values) {
buffer.append(value.toString()).append("-");
}
//2:K2就是V3
//3:将K3和V3写入上下文中
context.write(new Text(buffer.toString()), key);
}
}
public class JobMain extends Configured implements Tool {
@Override
public int run(String[] args) throws Exception {
//1:获取Job对象
Job job = Job.getInstance(super.getConf(), "common_friends_step1_job");
//2:设置job任务
//第一步:设置输入类和输入路径
job.setInputFormatClass(TextInputFormat.class);
TextInputFormat.addInputPath(job, new Path("xxxxxx"));
//第二步:设置Mapper类和数据类型
job.setMapperClass(Step1Mapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
//第三,四,五,六
//第七步:设置Reducer类和数据类型
job.setReducerClass(Step1Reducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
//第八步:设置输出类和输出的路径
job.setOutputFormatClass(TextOutputFormat.class);
TextOutputFormat.setOutputPath(job, new Path("xxxxx"));
//3:等待job任务结束
boolean bl = job.waitForCompletion(true);
return bl ? 0: 1;
}
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
//启动job任务
int run = ToolRunner.run(configuration, new JobMain(), args);
System.exit(run);
}
}
结果:
I-K-B-G-F-H-O-C-D- A
A-F-C-J-E- B
E-A-H-B-F-G-K- C
K-E-C-L-A-F-H-G- D
F-M-L-H-G-D-C-B-A- E
G-D-A-M-L- F
M- G
O- H
C-O- I
O- J
B- K
D-E- L
E-F- M
J-I-H-A-F- O
第二部:
public class Step2Mapper extends Mapper<LongWritable, Text, Text, Text> {
/*
K1 V1
0 A-F-C-J-E- B
----------------------------------
K2 V2
A-C B
A-E B
A-F B
C-E B
*/
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
//1:拆分行文本数据,结果的第二部分可以得到V2
String[] split = value.toString().split("\t");
String friendStr = split[1];
//2:继续以'-'为分隔符拆分行文本数据第一部分,得到数组
String[] userArray = split[0].split("-");
//3:对数组做一个排序
Arrays.sort(userArray);
//4:对数组中的元素进行两两组合,得到K2
/*
A-E-C-J -----> A C E
A C E
A C E
*/
for (int i = 0; i < userArray.length - 1; i++) {
for (int j = i + 1; j < userArray.length; j++) {
//5:将K2和V2写入上下文中
context.write(new Text(userArray[i] + "-" + userArray[j]), new Text(friendStr));
}
}
}
}
public class Step2Reducer extends Reducer<Text,Text,Text,Text> {
@Override
protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
//1:原来的K2就是K3
//2:将集合进行遍历,将集合中的元素拼接,得到V3
StringBuffer buffer = new StringBuffer();
for (Text value : values) {
buffer.append(value.toString()).append("-");
}
//3:将K3和V3写入上下文中
context.write(key, new Text(buffer.toString()));
}
}
public class JobMain extends Configured implements Tool {
@Override
public int run(String[] args) throws Exception {
//1:获取Job对象
Job job = Job.getInstance(super.getConf(), "common_friends_step2_job");
//2:设置job任务
//第一步:设置输入类和输入路径
job.setInputFormatClass(TextInputFormat.class);
TextInputFormat.addInputPath(job, new Path("xxxxx"));
//第二步:设置Mapper类和数据类型
job.setMapperClass(Step2Mapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
//第三,四,五,六
//第七步:设置Reducer类和数据类型
job.setReducerClass(Step2Reducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
//第八步:设置输出类和输出的路径
job.setOutputFormatClass(TextOutputFormat.class);
TextOutputFormat.setOutputPath(job, new Path("xxxxx"));
//3:等待job任务结束
boolean bl = job.waitForCompletion(true);
return bl ? 0 : 1;
}
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
//启动job任务
int run = ToolRunner.run(configuration, new JobMain(), args);
System.exit(run);
}
}
结果:
A-B C-E-
A-C B-E-D-
A-D F-E-
A-E B-D-C-
A-F O-E-D-B-C-
A-G C-F-D-E-
A-H O-D-C-E-
A-I O-
A-J B-O-
A-K C-D-
A-L D-E-F-
A-M E-F-
B-C A-E-
B-D E-A-
B-E C-
B-F E-C-A-
B-G E-A-C-
B-H C-A-E-
B-I A-
B-K C-A-
B-L E-
B-M E-
B-O A-
C-D E-A-
C-E D-B-
C-F E-B-A-D-
C-G D-E-A-
C-H A-E-D-
C-I A-
C-J B-
C-K A-D-
C-L D-E-
C-M E-
C-O A-I-
D-E L-
D-F A-E-
D-G E-F-A-
D-H E-A-
D-I A-
D-K A-
D-L E-F-
D-M F-E-
D-O A-
E-F M-C-D-B-
E-G D-C-
E-H C-D-
E-J B-
E-K C-D-
E-L D-
F-G E-D-C-A-
F-H A-D-O-C-E-
F-I O-A-
F-J B-O-
F-K D-C-A-
F-L E-D-
F-M E-
F-O A-
G-H D-C-E-A-
G-I A-
G-K D-A-C-
G-L F-D-E-
G-M E-F-
G-O A-
H-I A-O-
H-J O-
H-K A-D-C-
H-L E-D-
H-M E-
H-O A-
I-J O-
I-K A-
I-O A-
K-L D-
K-O A-
L-M F-E-
好评差评:
大概数据:
1 2018-03-15 22:29:06 2018-03-15 22:29:06 我想再来一个 \N 1 3 hello 来就来吧 0 2018-03-14 22:29:03
2 2018-03-15 22:42:08 2018-03-15 22:42:08 好的 \N 1 1 添加一个吧 说走咱就走啊 0 2018-03-14 22:42:04
3 2018-03-15 22:55:21 2018-03-15 22:55:21 haobuhao \N 1 1 nihao 0 2018-03-24 22:55:17
4 2018-03-23 11:15:28 2018-03-23 11:15:28 店家很好 非常好 \N 1 3 666 谢谢 0 2018-03-23 11:15:20
5 2018-03-23 14:52:48 2018-03-23 14:53:22 a'da'd \N 0 4 da'd's 打打操作 0 2018-03-22 14:52:42
6 2018-03-23 14:53:52 2018-03-23 14:53:52 达到 \N 1 4 1313 13132131 0 2018-03-07 14:30:38
7 2018-03-23 14:54:29 2018-03-23 14:54:29 321313 \N 1 4 111 1231231 1 2018-03-06 14:54:24
8 2018-03-23 14:54:48 2018-03-29 03:00:12 1 \N 1 4 1 110000 0 2018-03-23 14:54:42
9 2018-03-29 02:58:34 2018-03-29 02:58:34 666666666666666 \N 1 4 4444 7777777777777777 0 2018-03-01 10:58:24
public class MyOutputFormatMapper extends Mapper<LongWritable,Text,Text, NullWritable> {
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
context.write(value,NullWritable.get());
}
}
public class MyRecordWriter extends RecordWriter<Text,NullWritable> {
private FSDataOutputStream goodCommentsOutputStream;
private FSDataOutputStream badCommentsOutputStream;
public MyRecordWriter(){
}
public MyRecordWriter(FSDataOutputStream goodCommentsOutputStream, FSDataOutputStream badCommentsOutputStream){
this.goodCommentsOutputStream = goodCommentsOutputStream;
this.badCommentsOutputStream = badCommentsOutputStream;
}
/**
*
* @param text 行文本内容
* @param nullWritable
* @throws IOException
* @throws InterruptedException
*/
@Override
public void write(Text text, NullWritable nullWritable) throws IOException, InterruptedException {
//1:从行文本数据中获取第9个字段
String[] split = text.toString().split("\t");
String numStr = split[9];
//2:根据字段的值,判断评论的类型,然后将对应的数据写入不同的文件夹文件中
if(Integer.parseInt(numStr) <= 1){
//好评或者中评
goodCommentsOutputStream.write(text.toString().getBytes());
goodCommentsOutputStream.write("\r\n".getBytes());
}else{
//差评
badCommentsOutputStream.write(text.toString().getBytes());
badCommentsOutputStream.write("\r\n".getBytes());
}
}
@Override
public void close(TaskAttemptContext context) throws IOException, InterruptedException {
IOUtils.closeStream(goodCommentsOutputStream);
IOUtils.closeStream(badCommentsOutputStream);
}
}
public class MyOutputFormat extends FileOutputFormat<Text, NullWritable> {
@Override
public RecordWriter<Text, NullWritable> getRecordWriter(TaskAttemptContext taskAttemptContext) throws IOException, InterruptedException {
//1:获取目标文件的输出流(两个)
FileSystem fileSystem = FileSystem.get(taskAttemptContext.getConfiguration());
FSDataOutputStream goodCommentsOutputStream = fileSystem.create(new Path("xxxx/good_comments.txt"));
FSDataOutputStream badCommentsOutputStream = fileSystem.create(new Path("xxxxx/bad_comments.txt"));
//2:将输出流传给MyRecordWriter
MyRecordWriter myRecordWriter = new MyRecordWriter(goodCommentsOutputStream,badCommentsOutputStream);
return myRecordWriter;
}
}
public class JobMain extends Configured implements Tool {
@Override
public int run(String[] args) throws Exception {
//1:获取job对象
Job job = Job.getInstance(super.getConf(), "myoutputformat_job");
//2:设置job任务
//第一步:设置输入类和输入的路径
job.setInputFormatClass(TextInputFormat.class);
TextInputFormat.addInputPath(job, new Path("xxxx"));
//第二步:设置Mapper类和数据类型
job.setMapperClass(MyOutputFormatMapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(NullWritable.class);
//第八步:设置输出类和输出的路径
job.setOutputFormatClass(MyOutputFormat.class);
MyOutputFormat.setOutputPath(job, new Path("xxxx"));
//3:等待任务结束
boolean bl = job.waitForCompletion(true);
return bl ? 0 : 1;
}
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
int run = ToolRunner.run(configuration, new JobMain(), args);
System.exit(run);
}
}
结果example:
好评:
1 2018-03-15 22:29:06 2018-03-15 22:29:06 我想再来一个 \N 1 3 hello 来就来吧 0 2018-03-14 22:29:03
10 2018-03-29 02:58:54 2018-03-29 02:58:54 00000000 \N 1 4 55555555555 009999999 1 2018-03-02 10:58:47
100 2018-04-16 15:43:04 2018-04-16 15:43:04 买给爸爸吃的,包装有点简陋,发货挺快的,还没吃,不知道效果咋样,后面再来追评吧 \N 1 90 156******90 0 2017-12-22 09:55:46
101 2018-04-16 16:01:04 2018-04-16 16:01:04 还行吧 \N 1 84 131******13 0 2018-01-01 00:00:57
102 2018-04-16 16:01:47 2018-04-16 16:01:47 喝了 但感觉没明显的变化 \N 1 84 135******66 0 2018-03-09 13:45:37
103 2018-04-16 16:02:34 2018-04-16 16:02:34 收到的宝贝货真价实 \N 1 84 139******16 0 2018-04-03 20:30:25
104 2018-04-16 16:06:12 2018-04-16 16:06:12 刚吃,还没有发现效果,期待见效。 \N 1 82 131******85 0 2018-04-13 00:06:02
105 2018-04-16 16:06:46 2018-04-16 16:06:46 特别好用,下次再买 \N 1 82 137******77 0 2018-01-03 13:40:38
106 2018-04-16 16:07:13 2018-04-16 16:07:13 吃着没有什么感觉,说不好管用不管用 \N 1 82 136******51 0 2018-02-28 10:55:02
107 2018-04-16 16:07:38 2018-04-16 16:07:38 不错一直吃!贵在坚持吧!期待效果!! \N 1 82 133******66 0 2018-03-21 17:40:29
108 2018-04-16 16:10:11 2018-04-16 16:10:11 看销量挺高,以前吃的在澳门买的,网上没发现卖的,只能换个牌子,吃吃这个试试 \N 1 81 131******55 0 2017-12-05 00:10:03
差评:
109 2018-04-16 16:10:55 2018-04-16 16:10:55 打开瓶子有股下水道和大粪池一样的臭味啊,臭的好恶心,不敢吃 \N 1 81 133******39 2 2017-12-20 20:50:31
11 2018-03-29 02:59:17 2018-03-29 02:59:42 311111111111 \N 0 4 999999 1333333333 2 2018-03-03 10:59:10
155 2018-04-18 12:03:36 2018-04-18 12:03:36 这奶粉大家不要买,我小孩一吃就有问题,吃两次生病两次,建议大家不要买,我现在都没有让孩子吃 \N 1 42 r***r ,我们承诺所售商品均为百分之百的原产原装进口,有正规链路证明,海关报关单,100%正品保证,可以接受任何验证方式,请亲放心购买和使用呢!宝宝生病是多种因素影响的哦,季节变化还请妈妈们多注意下宝宝的身体情况和饮食哦,有什么问题可以及时联系我们在线客服处理,这边会给您满意的答复的,祝您生活愉快!!! 2 2017-12-13 14:40:19
156 2018-04-18 12:03:37 2018-04-18 12:04:14 这奶粉大家不要买,我小孩一吃就有问题,吃两次生病两次,建议大家不要买,我现在都没有让孩子吃 \N 0 42 r***r ,我们承诺所售商品均为百分之百的原产原装进口,有正规链路证明,海关报关单,100%正品保证,可以接受任何验证方式,请亲放心购买和使用呢!宝宝生病是多种因素影响的哦,季节变化还请妈妈们多注意下宝宝的身体情况和饮食哦,有什么问题可以及时联系我们在线客服处理,这边会给您满意的答复的,祝您生活愉快!!! 2 2017-12-13 14:40:19
170 2018-04-18 12:31:46 2018-04-18 12:31:46 不明白一罐奶粉里有两个勺子! \N 1 40 136******11 2 2018-01-03 12:30:40
195 2018-04-18 15:44:31 2018-04-18 15:44:31 女儿不喜欢吃,味道不好 \N 1 34 139******88 您好,羊奶粉营养成分高,是最接近母乳的奶粉,口味清淡不易上火,个人口味不一样,这个可以理解的哦~如果是换的新奶粉,也建议您给宝宝转奶适应下哦~直接换奶粉,宝宝不习惯味道吃的也会吃的比较少哦~如有疑问可联系店铺客服为您解答呢~ 2 2018-04-03 14:15:22
250 2018-04-19 15:07:15 2018-04-19 15:07:15 不好不好一点也不好我家宝宝抹完就过敏 \N 1 139 137******72 2 2018-03-13 12:40:04
253 2018-04-19 15:25:40 2018-04-19 15:25:52 第一次购买,物流是真的没的说!不过打开防晒有一股发酵的酸味不好闻,都不敢用!这么贵,唉!白瞎了 \N 1 138 138******13 2 2017-12-06 14:35:30
363 2018-04-23 04:29:58 2018-04-23 04:29:58 感觉粉质有点潮潮的 \N 1 125 134****** 2 2018-03-06 12:29:53
388 2018-04-23 09:46:18 2018-04-23 09:46:18 有些贵,其实是很贵!太贵了,而且也不知道怎么验证真假 \N 1 120 133****** 2 2018-04-18 22:10:08
409 2018-04-23 13:50:25 2018-04-23 13:50:25 东西无两样但我帮海外购服务态度0分推诿10分 \N 1 183 131****** 2 2018-01-02 21:50:18
436 2018-04-23 15:15:56 2018-04-23 15:15:56 没有前一次买的好吃 \N 1 178 134****** 2 2018-04-06 23:15:50
459 2018-05-07 14:39:14 2018-05-07 14:39:14 口味非常一般不会再购买 \N 1 172 136******31 2 2018-04-11 18:39:04
469 2018-05-07 14:48:49 2018-05-07 14:49:15 订了一个月拿到货,又太难吃了 \N 1 170 131******44 2 2018-02-28 22:48:43
83 2018-04-16 14:33:47 2018-04-16 14:33:47 瓶子口有点脏 买了好几次 希望改进 发短消息说有活动 立马问客服 客服说是前几天的活动 不知道短信发了有什么意义 \N 1 94 行***键 2 2018-01-04 14:10:35
TopN:
相当重要,hive里也是重点
资料:
Order_0000001 Pdt_01 222.8
Order_0000001 Pdt_05 25.8
Order_0000002 Pdt_03 522.8
Order_0000002 Pdt_04 122.4
Order_0000002 Pdt_05 722.4
Order_0000003 Pdt_01 222.8
public class OrderBean implements WritableComparable<OrderBean> {
private String orderId;
private Double price;
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
@Override
public String toString() {
return orderId + "\t" + price;
}
//指定排序规则
@Override
public int compareTo(OrderBean orderBean) {
//先比较订单ID,如果订单ID一致,则排序订单金额(降序)
int i = this.orderId.compareTo(orderBean.orderId);
if(i == 0){
i = this.price.compareTo(orderBean.price) * -1;
}
return i;
}
//实现对象的序列化
@Override
public void write(DataOutput out) throws IOException {
out.writeUTF(orderId);
out.writeDouble(price);
}
//实现对象反序列化
@Override
public void readFields(DataInput in) throws IOException {
this.orderId = in.readUTF();
this.price = in.readDouble();
}
}
// 1: 继承WriteableComparator
public class OrderGroupComparator extends WritableComparator {
// 2: 调用父类的有参构造
public OrderGroupComparator() {
super(OrderBean.class,true);
}
//3: 指定分组的规则(重写方法)
@Override
public int compare(WritableComparable a, WritableComparable b) {
//3.1 对形参做强制类型转换
OrderBean first = (OrderBean)a;
OrderBean second = (OrderBean)b;
//3.2 指定分组规则
return first.getOrderId().compareTo(second.getOrderId());
}
}
public class OrderPartition extends Partitioner<OrderBean,Text>{
/**
*
* @param orderBean K2
* @param text V2
* @param i ReduceTask个数
* @return 返回分区的编号
*/
@Override
public int getPartition(OrderBean orderBean, Text text, int i) {
return (orderBean.getOrderId().hashCode() & 2147483647) % i; //分区规则,相同的key分到一组,2147483647为整型最大数,为什么取这个没看到讲解,但我猜用这个可以减少hash冲突
}
}
public class GroupMapper extends Mapper<LongWritable,Text,OrderBean,Text> {
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
//1:拆分行文本数据,得到订单的ID,订单的金额
String[] split = value.toString().split("\t");
//2:封装OrderBean,得到K2
OrderBean orderBean = new OrderBean();
orderBean.setOrderId(split[0]);
orderBean.setPrice(Double.valueOf(split[2]));
//3:将K2和V2写入上下文中
context.write(orderBean, value);
}
}
public class GroupReducer extends Reducer<OrderBean,Text,Text, NullWritable> {
@Override
protected void reduce(OrderBean key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
int i = 0;
for (Text value : values) {
context.write(value, NullWritable.get());
i++;
if (i >= 2) { //取top2
break;
}
}
}
}
public class JobMain extends Configured implements Tool {
@Override
public int run(String[] args) throws Exception {
//1:获取Job对象
Job job = Job.getInstance(super.getConf(), "mygroup_job");
//2:设置job任务
//第一步:设置输入类和输入路径
job.setInputFormatClass(TextInputFormat.class);
TextInputFormat.addInputPath(job, new Path("xxxxx"));
//第二步:设置Mapper类和数据类型
job.setMapperClass(GroupMapper.class);
job.setMapOutputKeyClass(OrderBean.class);
job.setMapOutputValueClass(Text.class);
//第三,四,五,六
//设置分区
job.setPartitionerClass(OrderPartition.class);
//设置分组
job.setGroupingComparatorClass(OrderGroupComparator.class);
//第七步:设置Reducer类和数据类型
job.setReducerClass(GroupReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(NullWritable.class);
//第八步:设置输出类和输出的路径
job.setOutputFormatClass(TextOutputFormat.class);
TextOutputFormat.setOutputPath(job, new Path("xxxx"));
//3:等待job任务结束
boolean bl = job.waitForCompletion(true);
return bl ? 0: 1;
}
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
//启动job任务
int run = ToolRunner.run(configuration, new JobMain(), args);
System.exit(run);
}
}
最后结果:
Order_0000001 Pdt_01 222.8
Order_0000001 Pdt_05 25.8
Order_0000002 Pdt_05 722.4
Order_0000002 Pdt_03 522.8
Order_0000003 Pdt_01 222.8
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 阿里云天池竞赛-零基础入门CV赛事-Task5 模型集成
Task05:模型集成(3天) 学习目标 学习集成学习方法以及交叉验证情况下的模型集成 学会使用深度学习模型的集成学习 模型集成 集成学习方法介绍 深度学习中的集成学习 Dropout TTA Snapshot 结果后处理...
2024/4/28 1:38:03 - 轻松搞定Java异常和自定义异常
异常概述 异常指的是在程序编译和运行时期的一些不正常的状况。 Java语言的设计者把一些常见的异常封装成了对象,并且在API文档中对这些异常产生的原因做了解释。当开发者写代码时没有按照要求写,就会产生异常,并且在控制台输出一些异常信息,这些异常信息其实就是告诉程序员…...
2024/4/28 18:31:18 - 操作系统实验二 银行家算法
一、实验目的 1、了解什么是操作系统安全状态和不安全状态; 2、了解如何避免系统死锁; 3、理解银行家算法是一种最有代表性的避免死锁的算法,掌握其实现原理及实现过程。 二、实验内容 根据银行家算法的基本思想,编写和调试一个实现动态资源分配的模拟程序,并能够有效避免…...
2024/4/27 23:50:09 - 详解:配置VS Code远程开发工具,工作效率提升N倍
传统的远程开发大家都知道我是从事后台服务器开发工作的,主力语言是C/C++。我们的服务端程序一般都是跑在 Linux 服务器上面,传统的开发流程是在 window 或 Mac 的 IDE 环境编写代码,然后用 ftp 或 sync 同步代码到开发机上编译,程序或服务最终发布到测试或生产环境运行。 …...
2024/4/15 5:45:44 - 滚到固定位置播放动画(用的hover)
最近在做CSS3的动效,但是网页一般有滚动条,在下方的动画还没等鼠标滚到那就已经播完了,然后我想让滚动条滚动到固定位置再播放动画,又懒得写js,就用hover代替了先用-webkit-animation-play-state:paused;使动画处于暂停播放的状态 @-webkit-keyframes silder-left { /*动画…...
2024/4/28 6:13:25 - Python运算符—成员运算符&赋值运算符
1、成员运算符 成员运算符是用来判断指定元素是否在某一序列中的运算符,系列可以是字符串、列表或元组。成员运算符包括in和not in。 in如果在指定的序列中找到值,则返回真(True),否则返回假(False)。not in如果在指定的序列中没有找到值,则返回真(True),否则返回假(Fa…...
2024/4/28 4:01:11 - 文本分析:吉利不裁员不降薪背后的真相是什么
之前推荐了一些数据入门的资料,这里不妨以一个小小的案例讲解如何进行简单的文本分析。主要的步骤包括以下:从知乎相关问题爬下所有回答 将答案分词、去掉停用词、维护语料库 查看分词结果,并制作词云我们可以借知乎了解一下最近沸沸扬扬的吉利事件,了解一下伟大的民族…...
2024/4/27 23:48:22 - 《Oracle Java SE编程指南》11-05:关联的生命周期
内容导航:前言 1、生命周期 2、聚合 3、组合1、生命周期 如果两个互相关联的类有整体和部分的关系,且根据生命周期我们可以将其进一步分为:聚合 聚合是值包容的,即物理包容。这意味着部分不会独立于整体而存在,它们的声明周期是紧密联系在一起的。当被创建整体的实例时,也…...
2024/4/28 2:24:29 - java循环语句(待补充)
循环概述循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被反复执行的代码被称为循环语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件改为false。从而结束循环,否则循环将无限循环下去,形成死循环!循环组成循环的组成(手写1000遍HelloWorld案…...
2024/4/28 19:46:51 - 机器学习多分类实践,鸢尾花分类,基于sklearn
数据集介绍 Iris flower数据集是1936年由Sir Ronald Fisher引入的经典多维数据集,可以作为判别分析(discriminant analysis)的样本。该数据集包含Iris花的三个品种(Iris setosa, Iris virginica and Iris versicolor)各50个样本,每个样本还有4个特征参数(分别是萼片的长宽…...
2024/4/28 4:52:05 - 微人事-创建前端vue组件,并从数据库加载页面
创建前端vue组件创建前端vue组件当添加了组件后什么时候调用工具方法 创建前端vue组件 创建组件页面当添加了组件后 以下代码将找不到对应的页面// 整理成对应的格式 并且动态的加载菜单页let fmRouter={path:path,name:name,iconCls:iconCls,meta:meta,children:children,comp…...
2024/4/28 5:29:15 - 链栈的基本操作C/C++代码实现
链栈的结构:由于栈的主要操作是在栈顶插入和删除, 显然以链表的头部作为栈顶是最方便的,且不需要附加一个头结点。 初始化: 栈顶指针S置空即可。 入栈: 链栈不需要判断栈是否满!出栈: 栈顶指针S等于NULL表空栈,即链栈S==NULL时为空栈。代码如下: #include<stdio.h&…...
2024/4/28 19:13:08 - yum本地仓库的创建
什么是YUM Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 (本次…...
2024/4/28 17:03:12 - css写三角形,对号√
三角形:.active::after{content:"";position: absolute;top:0;right:0;width: 0;height: 0;border-top: 26upx solid #E1A153;border-left: 26upx solid transparent; } 对号:.active::before{content:"";position: absolute;right:4upx;top:0upx;z-inde…...
2024/4/24 10:18:55 - AndroidQ 图形系统(1)生产者-消费者模型
上一篇文章分析了上层Window创建之后,native层会创建对应的Surface,以及SurfaceFlinger进程会创建对应Layer,所以应用层的窗口对应到SurfaceFlinger进程其实就是Layer。 AndroidQ上SurfaceFlinger能够创建四种类型的Layer,BufferQueueLayer,BufferStateLayer,ColorLayer,…...
2024/4/28 14:48:18 - Python基础入门学习(二)
Python基础入门学习(二)数据类型算数操作符打飞机框架for循环 数据类型-------------------------------------数据类型 ={整型、布尔型、浮点} e记法(科学计数法) ------------------------------------- #1.6 * 10的10次方 print(1.6e10) #整型int() #浮点型float() #字…...
2024/4/28 12:33:23 - RabbitMQ系列(二)
目录:消息如何保障100%的投递成功? 幂等性概念详解 Confirm确认消息 Return返回消息 自定义消费者 消息端的限流 消息的ACK与重回队列 TTL消息 死信队列一.消息如何保障100%的投递成功? 什么是生产端的可靠性投递?保障消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点…...
2024/4/28 9:06:22 - 番茄路径优化系统介绍-专注于算法与路径优化VRP
前言 大家好,最近消失了一阵子。因为这两周一直在折腾一款产品。事情是这样的,此前搞算法一直是和命令行打交道基本上,搞得心烦,然后前阵子上头条偶然看到一些前端框架做的系统,感觉还挺好看的,也蛮有趣的。于是就跃跃欲试想尝试下新的东西,加上此前不是做了很多算法嘛,…...
2024/4/28 13:53:04 - Hadoop (四) (MapReduce 的原理+实现)
文章目录MapReduce简介为什么需要mapreducemapreduce的工作原理部署过程 MapReduce简介 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程…...
2024/4/27 21:41:39 - 数据结构与算法Python版之北大慕课笔记(四)
数据结构与算法Python版之北大慕课笔记(四)一、树1. 树结构相关术语2. 树的定义2.1 树的定义12.2 树的定义2(递归定义)二、实现树1. 嵌套列表法2. 节点链接法三、树的应用:表达式解析1. 创建表达式解析树:过程2. 建立表达式解析树:规则3. 建立表达式解析树:思路4. 利用…...
2024/4/28 4:23:46
最新文章
- AIGC技术的探讨
一、简介 AIGC(人工智能生成内容)技术是利用人工智能自动生产内容的一种方式,它在多个领域中的应用不断扩展,同时也带来了伦理和风险问题的考量。 二、技术应用 AIGC技术在各个领域的应用情况广泛,从文本生成到图像…...
2024/4/28 22:09:01 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - ROS2高效学习第十章 -- ros2 高级组件之大型项目中的 launch 其二
ros2 高级组件之大型项目中的 launch 1 前言和资料2 正文2.1 启动 turtlesim,生成一个 turtle ,设置背景色2.2 使用 event handler 重写上节的样例2.3 turtle_tf_mimic_rviz_launch 样例 3 总结 1 前言和资料 早在ROS2高效学习第四章 – ros2 topic 编程…...
2024/4/28 3:06:27 - 【自学记录5】【Pytorch2.0深度学习从零开始学 王晓华】第五章 基于Pytorch卷积层的MNIST分类实战
5.1.2 PyTorch2.0中卷积函数实现详解 1、torch.nn.Conv2d in_channels3: 输入的通道数,对应图像的3个颜色通道。 out_channels10: 输出的通道数,即卷积后我们想要得到的特征图的数量。 kernel_size3: 卷积核的大小,这里使用的是3x3的卷积核…...
2024/4/27 18:00:59 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/28 13:52:11 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/28 13:51:37 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/28 15:57:13 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57