当前位置: 首页 > news >正文

MapReduce概述

1.MapReduce定义

MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。

MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并行运行在一个Hadoop集群上。

2.MapReduce优缺点

优点

1)MapReduce 易于编程

它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得MapReduce编程变得非常流行。

实现其内部接口+组件,即可开发分布式程序

2)良好的扩展性

当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。
根据需求,随时添加机器进行扩容

3)高容错性

MapReduce设计的初衷就是使程序能够部署在廉价的PC机器上,这就要求它具有很高的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行,不至于这个任务运行失败,而且这个过程不需要人工参与,而完全是由Hadoop内部完成的。
体现在集群上的多个副本

4)适合PB级以上海量数据的离线处理

可以实现上千台服务器集群并发工作,提供数据处理能力。
海量数据的离线处理,是Hadoop的核心功能;

缺点

1)不擅长实时计算

MapReduce无法像MySQL一样,在毫秒或者秒级内返回结果。
因为其需要不断的落盘与IO,所以会慢。但不是说它一定不能做实时计算,只是不擅长;

2)不擅长流式计算

流式计算的输入数据是动态的,而MapReduce的输入数据集是静态的,不能动态变化。这是因为MapReduce自身的设计特点决定了数据源必须是静态的。

3)不擅长DAG(有向无环图)计算

多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出。在这种情况下,MapReduce并不是不能做,而是使用后,每个MapReduce作业的输出结果都会写入到磁盘,会造成大量的磁盘IO,导致性能非常的低下。

3.MapReduce的核心思想

1)MapReduce分布式运行程序往往需要分成2个阶段进行执行。
2)第一个阶段的MapTask并发实例,完全并行运行,互不干扰。
3)第二个阶段的ReduceTask并发实例互不干扰,但是他的入参数据依赖上一个阶段的所有MapTask并发实例的输出。
4)MapReduce编程模式只能包含一个Map阶段和一个Reduce阶段,如果用户的业务逻辑非常复杂,那就只能多个MapReduce程序,串行运行。

4.MapReduce进程包括哪些?

一个完整的MapReduce程序在分布式运行时,有三个实例进程:

1)MrAppMaster:负责整个程序的过程调度及状态协调
2)MapTask:负责Map阶段的整个数据处理流程
3)ReduceTask:负责Reduce阶段的整个数据处理流程

5.第一个案例

WordCount案例,有三个主要的类:自定义Mapper类,自定义Reducer和Driver驱动类组成;具体实现见下面案例;

6.Java序列化与Hadoop序列化类型对比

Java类型	Hadoop Writable类型Boolean	BooleanWritableByte	ByteWritableInt	IntWritableFloat	FloatWritableLong	LongWritableDouble	DoubleWritableString	TextMap	MapWritableArray	ArrayWritableNull	NullWritable

7.MapReduce编程规范

用户编写的程序分成3部分:Mapper、Reducer和Driver。

1.Mapper阶段

1)自定义Mapper类继承Hadoop的Mapper父类
2)Mapper的输入数据时KV,一般读取文本数据用LongWritable,Text
3) Mapper中的业务写在map方法中,MapTask每读取一次数据,就会调用此方法一次
4)map方法执行完成,通过上下文写出加工后的KV值。

2.Reduce阶段

1)自定义Reducer类继承Hadoop的Reducer父类
2)Reducer的输入数据类型为KV,对应Mapper的输出KV
3)Reducer中的业务写在reduce方法中,是ReduceTask调用的,对相同key不同值的一组数据的处理
4)reduce方法执行完成,通过上下文写出加工后的KV值。

3.Driver阶段

相当于Yarn集群的客户端,用于提交我们整个程序到Yarn集群,提交的是封装了MapReduce程序相关运行参数的Job对象。

8.WordCount案例演示

1)需求

在给定的的文本文件中统计每个单词出现的总次数

输入数据

fengxq fengxq
ss ss
cls cls
jiao
banzhang
xue
hadoop
sgg sgg sgg
nihao nihao
bigdata0111
laiba

期望输出

banzhang 1
bigdata0111 1
cls 2
fengxq 2
hadoop 1
jiao 1
laiba 1
nihao 2
sgg 3
ss 2
xue 1

2)代码

自定义WordCountMapper 类

package com.fengxq.mr.wc;import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;/*** 继承Mapper类*/
public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> {private Text outk = new Text();private IntWritable outv = new IntWritable(1); // 一次/*** 写map方法* @param key* @param value* @param context* @throws IOException* @throws InterruptedException*/@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {// 读取行数据String line = value.toString();/*** 切割* 格式:fengxq fengxq*/String[] datas = line.split(" ");// 循环获取key value,并输出for (String data : datas) {outk.set(data);context.write(outk, outv);}}
}

自定义WordCountReducer类

package com.fengxq.mr.wc;import jdk.nashorn.internal.ir.CallNode;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;import java.io.IOException;public class WordCountReducer extends Reducer<Text, IntWritable, Text, IntWritable> {IntWritable outv = new IntWritable();/*** 对已经分组好的键值进行输出* @param key* @param values* @param context* @throws IOException* @throws InterruptedException*/@Overrideprotected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {int sum = 0; // 总数for (IntWritable value : values) {sum += value.get();}outv.set(sum);context.write(key, outv);}
}

自定义WordCountDriver类

package com.fengxq.mr.wc;import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import java.io.IOException;public class WordCountDriver {public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {Job job = Job.getInstance();job.setJarByClass(WordCountDriver.class);job.setMapperClass(WordCountMapper.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(IntWritable.class);job.setReducerClass(WordCountReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);//        FileInputFormat.setInputPaths(job, new Path(args[0]));
//        FileOutputFormat.setOutputPath(job, new Path(args[1]));FileInputFormat.setInputPaths(job, new Path("D:\\hadoop_in\\wcinput"));FileOutputFormat.setOutputPath(job, new Path("D:\\hadoop_out\\wcinput_out"));job.waitForCompletion(true);}
}

执行日志

C:\instal\java\jdk8\bin\java.exe "-javaagent:C:\instal\JetBrains\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=5998:C:\instal\JetBrains\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath C:\instal\java\jdk8\jre\lib\charsets.jar;C:\instal\java\jdk8\jre\lib\deploy.jar;C:\instal\java\jdk8\jre\lib\ext\access-bridge-64.jar;C:\instal\java\jdk8\jre\lib\ext\cldrdata.jar;C:\instal\java\jdk8\jre\lib\ext\dnsns.jar;C:\instal\java\jdk8\jre\lib\ext\jaccess.jar;C:\instal\java\jdk8\jre\lib\ext\jfxrt.jar;C:\instal\java\jdk8\jre\lib\ext\localedata.jar;C:\instal\java\jdk8\jre\lib\ext\nashorn.jar;C:\instal\java\jdk8\jre\lib\ext\sunec.jar;C:\instal\java\jdk8\jre\lib\ext\sunjce_provider.jar;C:\instal\java\jdk8\jre\lib\ext\sunmscapi.jar;C:\instal\java\jdk8\jre\lib\ext\sunpkcs11.jar;C:\instal\java\jdk8\jre\lib\ext\zipfs.jar;C:\instal\java\jdk8\jre\lib\javaws.jar;C:\instal\java\jdk8\jre\lib\jce.jar;C:\instal\java\jdk8\jre\lib\jfr.jar;C:\instal\java\jdk8\jre\lib\jfxswt.jar;C:\instal\java\jdk8\jre\lib\jsse.jar;C:\instal\java\jdk8\jre\lib\management-agent.jar;C:\instal\java\jdk8\jre\lib\plugin.jar;C:\instal\java\jdk8\jre\lib\resources.jar;C:\instal\java\jdk8\jre\lib\rt.jar;C:\mydisk\ws_bigdata2\MapReduce\target\classes;C:\mydisk\pub_noinstal\RepMaven\junit\junit\4.12\junit-4.12.jar;C:\mydisk\pub_noinstal\RepMaven\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\logging\log4j\log4j-slf4j-impl\2.12.0\log4j-slf4j-impl-2.12.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\logging\log4j\log4j-api\2.12.0\log4j-api-2.12.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\logging\log4j\log4j-core\2.12.0\log4j-core-2.12.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-client\3.1.3\hadoop-client-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-common\3.1.3\hadoop-common-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\guava\guava\27.0-jre\guava-27.0-jre.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\guava\failureaccess\1.0\failureaccess-1.0.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\mydisk\pub_noinstal\RepMaven\org\checkerframework\checker-qual\2.5.2\checker-qual-2.5.2.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\errorprone\error_prone_annotations\2.2.0\error_prone_annotations-2.2.0.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\codehaus\mojo\animal-sniffer-annotations\1.17\animal-sniffer-annotations-1.17.jar;C:\mydisk\pub_noinstal\RepMaven\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\commons\commons-math3\3.1.1\commons-math3-3.1.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\httpcomponents\httpclient\4.5.2\httpclient-4.5.2.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\httpcomponents\httpcore\4.4.4\httpcore-4.4.4.jar;C:\mydisk\pub_noinstal\RepMaven\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;C:\mydisk\pub_noinstal\RepMaven\commons-io\commons-io\2.5\commons-io-2.5.jar;C:\mydisk\pub_noinstal\RepMaven\commons-net\commons-net\3.6\commons-net-3.6.jar;C:\mydisk\pub_noinstal\RepMaven\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;C:\mydisk\pub_noinstal\RepMaven\org\eclipse\jetty\jetty-servlet\9.3.24.v20180605\jetty-servlet-9.3.24.v20180605.jar;C:\mydisk\pub_noinstal\RepMaven\org\eclipse\jetty\jetty-security\9.3.24.v20180605\jetty-security-9.3.24.v20180605.jar;C:\mydisk\pub_noinstal\RepMaven\org\eclipse\jetty\jetty-webapp\9.3.24.v20180605\jetty-webapp-9.3.24.v20180605.jar;C:\mydisk\pub_noinstal\RepMaven\org\eclipse\jetty\jetty-xml\9.3.24.v20180605\jetty-xml-9.3.24.v20180605.jar;C:\mydisk\pub_noinstal\RepMaven\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\mydisk\pub_noinstal\RepMaven\com\sun\jersey\jersey-servlet\1.19\jersey-servlet-1.19.jar;C:\mydisk\pub_noinstal\RepMaven\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\mydisk\pub_noinstal\RepMaven\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\mydisk\pub_noinstal\RepMaven\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\commons\commons-configuration2\2.1.1\commons-configuration2-2.1.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\avro\avro\1.7.7\avro-1.7.7.jar;C:\mydisk\pub_noinstal\RepMaven\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\mydisk\pub_noinstal\RepMaven\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\mydisk\pub_noinstal\RepMaven\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\xerial\snappy\snappy-java\1.0.5\snappy-java-1.0.5.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\re2j\re2j\1.1\re2j-1.1.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-auth\3.1.3\hadoop-auth-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\com\nimbusds\nimbus-jose-jwt\4.41.1\nimbus-jose-jwt-4.41.1.jar;C:\mydisk\pub_noinstal\RepMaven\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar;C:\mydisk\pub_noinstal\RepMaven\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\mydisk\pub_noinstal\RepMaven\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\mydisk\pub_noinstal\RepMaven\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\curator\curator-framework\2.13.0\curator-framework-2.13.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\curator\curator-client\2.13.0\curator-client-2.13.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\curator\curator-recipes\2.13.0\curator-recipes-2.13.0.jar;C:\mydisk\pub_noinstal\RepMaven\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\htrace\htrace-core4\4.1.0-incubating\htrace-core4-4.1.0-incubating.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\commons\commons-compress\1.18\commons-compress-1.18.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-simplekdc\1.0.1\kerb-simplekdc-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-client\1.0.1\kerb-client-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerby-config\1.0.1\kerby-config-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-core\1.0.1\kerb-core-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerby-pkix\1.0.1\kerby-pkix-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerby-asn1\1.0.1\kerby-asn1-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerby-util\1.0.1\kerby-util-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-common\1.0.1\kerb-common-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-crypto\1.0.1\kerb-crypto-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-util\1.0.1\kerb-util-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\token-provider\1.0.1\token-provider-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-admin\1.0.1\kerb-admin-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-server\1.0.1\kerb-server-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerb-identity\1.0.1\kerb-identity-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\kerby\kerby-xdr\1.0.1\kerby-xdr-1.0.1.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\jackson\core\jackson-databind\2.7.8\jackson-databind-2.7.8.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\jackson\core\jackson-core\2.7.8\jackson-core-2.7.8.jar;C:\mydisk\pub_noinstal\RepMaven\org\codehaus\woodstox\stax2-api\3.1.4\stax2-api-3.1.4.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\woodstox\woodstox-core\5.0.3\woodstox-core-5.0.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-hdfs-client\3.1.3\hadoop-hdfs-client-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\com\squareup\okhttp\okhttp\2.7.5\okhttp-2.7.5.jar;C:\mydisk\pub_noinstal\RepMaven\com\squareup\okio\okio\1.6.0\okio-1.6.0.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\jackson\core\jackson-annotations\2.7.8\jackson-annotations-2.7.8.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-yarn-api\3.1.3\hadoop-yarn-api-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\javax\xml\bind\jaxb-api\2.2.11\jaxb-api-2.2.11.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-yarn-client\3.1.3\hadoop-yarn-client-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-mapreduce-client-core\3.1.3\hadoop-mapreduce-client-core-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-yarn-common\3.1.3\hadoop-yarn-common-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\mydisk\pub_noinstal\RepMaven\org\eclipse\jetty\jetty-util\9.3.24.v20180605\jetty-util-9.3.24.v20180605.jar;C:\mydisk\pub_noinstal\RepMaven\com\sun\jersey\jersey-core\1.19\jersey-core-1.19.jar;C:\mydisk\pub_noinstal\RepMaven\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;C:\mydisk\pub_noinstal\RepMaven\com\sun\jersey\jersey-client\1.19\jersey-client-1.19.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.7.8\jackson-module-jaxb-annotations-2.7.8.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.7.8\jackson-jaxrs-json-provider-2.7.8.jar;C:\mydisk\pub_noinstal\RepMaven\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.7.8\jackson-jaxrs-base-2.7.8.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-mapreduce-client-jobclient\3.1.3\hadoop-mapreduce-client-jobclient-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-mapreduce-client-common\3.1.3\hadoop-mapreduce-client-common-3.1.3.jar;C:\mydisk\pub_noinstal\RepMaven\org\apache\hadoop\hadoop-annotations\3.1.3\hadoop-annotations-3.1.3.jar com.fengxq.mr.wc.WordCountDriver
log4j:WARN No appenders could be found for logger (org.apache.htrace.core.Tracer).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[WARN] [2021-06-01 20:09:54][org.apache.hadoop.metrics2.impl.MetricsConfig]Cannot locate configuration: tried hadoop-metrics2-jobtracker.properties,hadoop-metrics2.properties
[INFO] [2021-06-01 20:09:54][org.apache.hadoop.metrics2.impl.MetricsSystemImpl]Scheduled Metric snapshot period at 10 second(s).
[INFO] [2021-06-01 20:09:54][org.apache.hadoop.metrics2.impl.MetricsSystemImpl]JobTracker metrics system started
[WARN] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.JobResourceUploader]Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
[WARN] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.JobResourceUploader]No job jar file set.  User classes may not be found. See Job or Job#setJar(String).
[INFO] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.lib.input.FileInputFormat]Total input files to process : 1
[INFO] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.JobSubmitter]number of splits:1
[INFO] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.JobSubmitter]Submitting tokens for job: job_local758397422_0001
[INFO] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.JobSubmitter]Executing with tokens: []
[INFO] [2021-06-01 20:09:55][org.apache.hadoop.mapreduce.Job]The url to track the job: http://localhost:8080/
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.Job]Running job: job_local758397422_0001
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]OutputCommitter set in config null
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]File Output Committer Algorithm version is 2
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]OutputCommitter is org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]Waiting for map tasks
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]Starting task: attempt_local758397422_0001_m_000000_0
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]File Output Committer Algorithm version is 2
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.Task] Using ResourceCalculatorProcessTree : org.apache.hadoop.yarn.util.WindowsBasedProcessTree@5792442a
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]Processing split: file:/D:/hadoop_in/wcinput/hello.txt:0+106
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask](EQUATOR) 0 kvi 26214396(104857584)
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]mapreduce.task.io.sort.mb: 100
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]soft limit at 83886080
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]bufstart = 0; bufvoid = 104857600
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]kvstart = 26214396; length = 6553600
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]Starting flush of map output
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]Spilling map output
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]bufstart = 0; bufend = 163; bufvoid = 104857600
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]kvstart = 26214396(104857584); kvend = 26214332(104857328); length = 65/6553600
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.MapTask]Finished spill 0
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.Task]Task:attempt_local758397422_0001_m_000000_0 is done. And is in the process of committing
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]map
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.Task]Task 'attempt_local758397422_0001_m_000000_0' done.
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.Task]Final Counters for attempt_local758397422_0001_m_000000_0: Counters: 17File System CountersFILE: Number of bytes read=261FILE: Number of bytes written=341453FILE: Number of read operations=0FILE: Number of large read operations=0FILE: Number of write operations=0Map-Reduce FrameworkMap input records=11Map output records=17Map output bytes=163Map output materialized bytes=203Input split bytes=101Combine input records=0Spilled Records=17Failed Shuffles=0Merged Map outputs=0GC time elapsed (ms)=0Total committed heap usage (bytes)=261619712File Input Format Counters Bytes Read=106
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]Finishing task: attempt_local758397422_0001_m_000000_0
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]map task executor complete.
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]Waiting for reduce tasks
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapred.LocalJobRunner]Starting task: attempt_local758397422_0001_r_000000_0
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]File Output Committer Algorithm version is 2
[INFO] [2021-06-01 20:09:56][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.Job]Job job_local758397422_0001 running in uber mode : false
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.Job] map 100% reduce 0%
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Task] Using ResourceCalculatorProcessTree : org.apache.hadoop.yarn.util.WindowsBasedProcessTree@1d0cf332
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.ReduceTask]Using ShuffleConsumerPlugin: org.apache.hadoop.mapreduce.task.reduce.Shuffle@1346e016
[WARN] [2021-06-01 20:09:57][org.apache.hadoop.metrics2.impl.MetricsSystemImpl]JobTracker metrics system already initialized!
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl]MergerManager: memoryLimit=2654155520, maxSingleShuffleLimit=663538880, mergeThreshold=1751742720, ioSortFactor=10, memToMemMergeOutputsThreshold=10
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.EventFetcher]attempt_local758397422_0001_r_000000_0 Thread started: EventFetcher for fetching Map Completion Events
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.LocalFetcher]localfetcher#1 about to shuffle output of map attempt_local758397422_0001_m_000000_0 decomp: 199 len: 203 to MEMORY
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.InMemoryMapOutput]Read 199 bytes from map-output for attempt_local758397422_0001_m_000000_0
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl]closeInMemoryFile -> map-output of size: 199, inMemoryMapOutputs.size() -> 1, commitMemory -> 0, usedMemory ->199
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.EventFetcher]EventFetcher is interrupted.. Returning
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.LocalJobRunner]1 / 1 copied.
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl]finalMerge called with 1 in-memory map-outputs and 0 on-disk map-outputs
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Merger]Merging 1 sorted segments
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Merger]Down to the last merge-pass, with 1 segments left of total size: 188 bytes
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl]Merged 1 segments, 199 bytes to disk to satisfy reduce memory limit
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl]Merging 1 files, 203 bytes from disk
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl]Merging 0 segments, 0 bytes from memory into reduce
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Merger]Merging 1 sorted segments
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Merger]Down to the last merge-pass, with 1 segments left of total size: 188 bytes
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.LocalJobRunner]1 / 1 copied.
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.conf.Configuration.deprecation]mapred.skip.on is deprecated. Instead, use mapreduce.job.skiprecords
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Task]Task:attempt_local758397422_0001_r_000000_0 is done. And is in the process of committing
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.LocalJobRunner]1 / 1 copied.
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Task]Task attempt_local758397422_0001_r_000000_0 is allowed to commit now
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter]Saved output of task 'attempt_local758397422_0001_r_000000_0' to file:/D:/hadoop_out/wcinput_out
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.LocalJobRunner]reduce > reduce
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Task]Task 'attempt_local758397422_0001_r_000000_0' done.
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.Task]Final Counters for attempt_local758397422_0001_r_000000_0: Counters: 24File System CountersFILE: Number of bytes read=699FILE: Number of bytes written=341757FILE: Number of read operations=0FILE: Number of large read operations=0FILE: Number of write operations=0Map-Reduce FrameworkCombine input records=0Combine output records=0Reduce input groups=11Reduce shuffle bytes=203Reduce input records=17Reduce output records=11Spilled Records=17Shuffled Maps =1Failed Shuffles=0Merged Map outputs=1GC time elapsed (ms)=0Total committed heap usage (bytes)=261619712Shuffle ErrorsBAD_ID=0CONNECTION=0IO_ERROR=0WRONG_LENGTH=0WRONG_MAP=0WRONG_REDUCE=0File Output Format Counters Bytes Written=101
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.LocalJobRunner]Finishing task: attempt_local758397422_0001_r_000000_0
[INFO] [2021-06-01 20:09:57][org.apache.hadoop.mapred.LocalJobRunner]reduce task executor complete.
[INFO] [2021-06-01 20:09:58][org.apache.hadoop.mapreduce.Job] map 100% reduce 100%
[INFO] [2021-06-01 20:09:58][org.apache.hadoop.mapreduce.Job]Job job_local758397422_0001 completed successfully
[INFO] [2021-06-01 20:09:58][org.apache.hadoop.mapreduce.Job]Counters: 30File System CountersFILE: Number of bytes read=960FILE: Number of bytes written=683210FILE: Number of read operations=0FILE: Number of large read operations=0FILE: Number of write operations=0Map-Reduce FrameworkMap input records=11Map output records=17Map output bytes=163Map output materialized bytes=203Input split bytes=101Combine input records=0Combine output records=0Reduce input groups=11Reduce shuffle bytes=203Reduce input records=17Reduce output records=11Spilled Records=34Shuffled Maps =1Failed Shuffles=0Merged Map outputs=1GC time elapsed (ms)=0Total committed heap usage (bytes)=523239424Shuffle ErrorsBAD_ID=0CONNECTION=0IO_ERROR=0WRONG_LENGTH=0WRONG_MAP=0WRONG_REDUCE=0File Input Format Counters Bytes Read=106File Output Format Counters Bytes Written=101Process finished with exit code 0

执行结果
在这里插入图片描述

banzhang	1
bigdata0111	1
cls	2
fengxq	2
hadoop	1
jiao	1
laiba	1
nihao	2
sgg	3
ss	2
xue	1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-2821.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

vsftpd2.3.4著名笑脸漏洞复现实战

1.vsftpd手工利用 攻击机kali&#xff1a;192.168.182.133 靶机metasploit&#xff1a;192.168.182.128 先ping一下靶机看看靶机是否存活 接着使用nmap对靶机进行信息收集 这里可以看到版本是vsftpd2.3.4 漏洞是存在的 直接ftp连接靶机 用户名&#xff1a;user:) 密码随意…...

赶紧收藏!javasocket聊天室和私聊

前言 这些算法&#xff0c;都是小编一点一点看的大佬们的方法&#xff0c;自己积累的. 如果有什么描述的不对的地方还望大佬赐教 多交流才能进步&#xff0c;加油&#xff0c;冲冲冲&#xff01;&#xff01;&#xff01; RPC概述 RPC(Remote Procedure Call)即远程过程调用&a…...

<form>标签

HTML-表单 1. 在HTML标签中,<form>标签用来定义表单&#xff0c;来实现用户信息的收集和传递。 <form action"url地址" method"提交的方式" name"表单的名称"></form> 比较get和post&#xff1a; 2. 表单能够包含 input 元…...

.NET 6程序部署到Docker

使用Docker部署应用程序 首先确保已经安装Docker 桌面软件&#xff0c;如下图&#xff1a; 然后&#xff0c;把需要部署到Docker上面的项目&#xff0c;咱们先添加Docker的支持&#xff0c;启动项目右键 -> 添加 -> Docker支持&#xff0c;选择 Linux 然后会自动生成Doc…...

如何抓取modem开机log

1. adb root 2. adb shell cat /sys/bus/msm_subsys/devices/subsys*/name 3. 根据2输出的结果从上往下数&#xff0c;从0开始数&#xff0c;数到modem是数字几&#xff0c;那么*号就用几来替代&#xff0c;比如数到moddem是3&#xff0c;那么modem对应的子系统就是subsys3 4…...

HTML5详解 (前端)

什么是HTML 超文本标记语言 Hyper Text Markup Language W3C 万维网联盟 标准包括&#xff1a; 结构化标准语言&#xff08;HTML、XML&#xff09;表现标准语言&#xff08;CSS&#xff09;和行为标准&#xff08;DOM、ECMAScript&#xff09; 新建project HTML 删除SRC文件…...

我们究竟还要学习哪些Android知识?赶紧收藏!

前言 今年是转折的一年&#xff0c;很多学android开发的小伙伴失业了&#xff0c;虽找到了一份工作&#xff0c;但高不成低不就&#xff0c;下半年金九银十有想法更换一份工作&#xff0c;很多需要大厂面试经验和大厂面试真题的小伙伴&#xff0c;想提前准备刷下题。接下来分享…...

VR垃圾分类_VR环保科普_VR垃圾分类综合解决方案

随着人类生活质量水平的提高&#xff0c;人类生存的环境在不可逆转的变化&#xff0c;自然保护和生态安全越来越引人注目。全球气候变暖、自然灾害频繁&#xff0c;使得保护生态环境迫在眉睫。聚象科技VR环保模拟系统&#xff0c;使体验者“进入”生态环境&#xff0c;身临其境…...

python的matplotlib的常用绘图函数模版

import matplotlib.pyplot as plt # from mpl_toolkits.mplot3d import Axes3D import matplotlib as mpl import numpy as np import pandas as pd import time plt.rcParams[font.sans-serif][simhei]#用于正常显示中文标签 plt.rcParams[axes.unicode_minus]False#用于正常显…...

写给互联网大厂员工的真心话,面试必问

越来越多的人在提“移动端的下半场”、“Android 开发的焦虑”之类的&#xff0c;也有人在喊“技术天天在变&#xff0c;学也学不完”&#xff0c;“昨天 Kotlin 今天 Flutter”。其实我却认为&#xff0c;如果你技术达到了一定程度&#xff0c;你无需太过在意这些。 移动端真…...

pytorch代码学习1

这篇文章所写的内容主要是基于Context-Aware_Crowd_Counting-pytorch 的代码写的 1.在深度学习领域&#xff0c;会训练出一个模型&#xff0c;在使用训练好的模型时&#xff0c;其中有一种保存的模型文件格式叫.npy 2.os.path.join()函数&#xff1a;连接两个或更多的路径名组…...

Python 模块导入 import ...\from... import...

代码越来越多的时候&#xff0c;我们将代码写到一个.py 文件里&#xff0c;随着代码的增加&#xff0c;代码的维护越来越困难。如果将代码按照不同的功能拆分放到不同的.py文件中&#xff0c;每个.py文件就是一个模块。 不同模块中的变量名可以相同&#xff0c;他们不会受影响…...

盘点golang中的开发神器

本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 在Java中&#xff0c;我们用Junit做单元测试&#xff0c;用JMH做性能基准测试&#xff08;benchmark&#xff09;&#xff0c;用async-profiler剖析cpu性能&#xff0c;用jstack、jmap、arthas等来排查问题。 作…...

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

监控系统实践第12天&#xff1a;5天上手Laravel8.5之路由篇&#xff08;1/5&#xff09;前言安装与配置Laravel基础功能&#xff1a;路由(Route)路由是什么&#xff1f;设置路由的请求方式定义路由的路径定义路由的内容闭包中定义内容控制器中定义内容视图中定义内容其它内容的…...

学习响应式BootStrap来写融职教育网站,Bootsrtap第三天nav布局

nav导航布局 <!DOCTYPE html> <html lang"zh_CN"> <head><meta charset"UTF-8"><title>融职教育</title><!-- 移动设备优先--><meta name"viewport" content"widthdevice-width, initial…...

前端常见跨域解决方案(全)

文章目录什么是跨域&#xff1f;什么是同源策略&#xff1f;同源策略限制以下几种行为常见跨域场景跨域解决方案一、 通过jsonp跨域二、 document.domain iframe跨域三、 location.hash iframe跨域四、 window.name iframe跨域五、 postMessage跨域六、 跨域资源共享&#x…...

不是吧!连Linux都不会你还想月入过W(入门基础篇)

目录 一、Linux概览 二、Linux安装 三、Linux文件管理 四、Linux基本命令 五、Linux高级命令 六、vim编辑器 七、用户和用户组管理 八、权限管理 一、Linux概览 Linux是什么&#xff1f; Linux和我们常见的Windows一样&#xff0c;都是操作系统。 Linux能做什么&…...

因为一个字符校对问题,我的大厂面试挂了

摘要&#xff1a;字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 本文分享自华为云社区《一个字符校对规则引发的血案》&#xff0c;原文作者&#xff1a;DRS技术快客 。 问题现场 我们先看一个建表语句 CREATE TABLE collate_test ( val1 char(32…...

AndroidUtilCode 最强大的工具类

一、前言&#xff1a; AndroidUtilCode 是一个强大易用的安卓工具类库&#xff0c;它合理地封装了安卓开发中常用的函数&#xff0c;具有完善的 Demo 和单元测试&#xff0c;利用其封装好的 APIs 可以大大提高开发效率&#xff0c;如今它主要包括两部分模块&#xff0c;其一是…...

SVN常用命令集合_艾孜尔江撰

在平时的工作中我们大多数情况下喜欢使用Tortoise SVN之类的可视化版本控制工具&#xff0c;但笔者发现&#xff0c;命令行的方式进行版本控制在执行速度上将会更快一些。尽管在大多数情况下使用命令行并不是很方便&#xff0c;但只要用户习惯了&#xff0c;就非常顺畅了。针对…...

requests+re爬取猫眼电影排行

import requests from requests.exceptions import RequestException import re,json,timedef get_one_page(url):#获取网页信息try:headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/53…...

部署k8s

安装docker 参考菜鸟教程&#xff1a;Ubuntu Docker 安装 | 菜鸟教程 (runoob.com) docker配置 1、当前用户加入"docker"用户组 sudo usermod -aG docker $USER2、 配置 cgroup 驱动为 systemd sudo vim /etc/docker/daemon.json # 创建文件 /etc/docker/daemo…...

Android Studio 使用Token登录Git

获取Token地址&#xff1a;https://github.com/settings/tokens...

6 python数据分析基础——批量进行数据分析(二)

目录 七、使用相关系数判断数据的相关性 1、使用相关系数判断数据的相关性 2、求单个变量和其他变量间的相关性 八、使用方差分析对比数据的差异 1、使用方差分析对比数据的差异 2、绘制箱形图识别异常值 九、使用描述统计和直方图制定目标 1、使用描述统计和直方图制定…...

pytorch代码学习1

这篇文章所写的内容主要是基于Context-Aware_Crowd_Counting-pytorch 的代码写的 1.在深度学习领域&#xff0c;会训练出一个模型&#xff0c;在使用训练好的模型时&#xff0c;其中有一种保存的模型文件格式叫.npy 2.os.path.join()函数&#xff1a;连接两个或更多的路径名组…...

秃头少女日记之初识HTML

一、HTML的介绍 1、HTML的概述&#xff1a; HTML称为超文本标记语言&#xff0c;是一种标识性的语言。它包括一系列标签&#xff0e;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本&…...

翻译文章 | Just gopher it!无回显SSRF升级为RCE

前言: 发现此漏洞的bug bounty团队不允许公开披露&#xff0c;因此我不会直接命名所涉及的程序。 我能说的是&#xff0c;这是在Hackerone运行时间最长、规模最大的bug赏金活动中发现的。多个Hackerone的现场黑客活动已经包括这个活动。 毋庸置疑&#xff0c;这是一家拥有世…...

跨域请求

/* * Description: 配置文件 */ module.exports { publicPath: "./", devServer: { open: true, proxy: "http://106.15.179.105/api" //跨域路径 }, }; // proxy是代理的意思 // 代理跨域就是在欺骗浏览器 让浏览器认为你访问的还是 同…...

音频播客个人主页HTML5模板

简介&#xff1a; 音频播客个人主页HTML5模板 网盘下载地址&#xff1a; http://kekewl.net/v9EzEhwAarU0 图片&#xff1a;...

使用 openssl 计算 base64(防止内存泄露)

#include "openssl/bio.h" #include "openssl/evp.h" #include "openssl/buffer.h"int base64(const unsigned char *src, int src_len, unsigned char *dst, int *dst_len) {BIO *bio_hnd_mem NULL;BIO *bio_hnd_meth NULL;BUF_MEM *buf_me...

2818: Gcd (欧拉函数)

http://www.locoso.com/info/0m26297 http://www.locoso.com/info/mv26297 http://www.locoso.com/info/fv26297 http://www.locoso.com/info/5wa3agi http://www.locoso.com/info/t926297 http://www.locoso.com/info/z353agi http://www.locoso.com/info/b1qbhxd http://www...

1098: [POI2007]办公楼biu (bfs+链表)

http://www.locoso.com/company/92vtf97 http://www.locoso.com/company/i5z8cgi http://www.locoso.com/company/bqrjyxd http://www.locoso.com/company/hjrjyxd http://www.locoso.com/company/69vtf97 http://www.locoso.com/company/07vtf97 http://www.locoso.com/compa...

1146: [CTSC2008]网络管理Network (线段树套平衡树+二分+树链剖分)

http://www.locoso.com/company/99fssf7 http://www.locoso.com/company/433a4ci http://www.locoso.com/company/v662sf7 http://www.locoso.com/company/st62sf7 http://www.locoso.com/company/s762sf7 http://www.locoso.com/company/m962sf7 http://www.locoso.com/compa...

Spring 笔记

Spring 笔记 1、Spring&#xff08;2021-1-27&#xff09; 1.1 简介 Spring&#xff1a;春天------>给软件行业带来了春天&#xff01;2002&#xff0c;首次推出了Spring框架的雏形&#xff1a;interface21框架&#xff01;Spring框架即以interface21框架为基础&#xff…...

4.11

<?xml version"1.0" encoding"UTF-8"?> <module type"JAVA_MODULE" version"4"><component name"FacetManager"><facet type"web" name"Web"><configuration><desc…...

geogebra画一段椭圆

使用Arc(a,B,C)命令&#xff0c;a是椭圆图形对象&#xff0c;B是椭圆上的起点&#xff0c;C是终点&#xff0c;绘图是逆时针绘图的 具体如下图 首先&#xff0c;先画出完整的椭圆图形c&#xff0c;在c上描点D和E&#xff0c;分别做弧线...

SpringBoot+Mybaits搭建通用管理系统实例十一:数据缓存功能实现

一、本章内容 使用ehcache实现系统缓存功能,并配置实现mybatis的二级缓存,自定义分页缓存的key,识别实体类型,并根据实体属性的配置,组合生成key值用于标识缓存数据。 完整课程地址二、开发视频 SpringBoot+Mybaits搭建通用管理系统实例三:缓存管理功能实现 三、缓存配置 …...

c++画直线、矩形、圆、椭圆

c画图 1、画直线 line(src, p1, p2, color, thickness, typeline) // src:图像&#xff0c;p1:起始点&#xff0c;p2:终止点&#xff0c;color:颜色&#xff0c;thickness:线宽&#xff0c;typeline&#xff1a;线型。 2、画矩形 rectangle(src, rect, color, thickness, type…...

几何画板椭圆九种画法_椭圆的画法几何画板的动画演示

展开全部椭圆在数学中占有一定的比重&#xff0c;是中学时代必学的圆锥曲线32313133353236313431303231363533e58685e5aeb931333365653162之一&#xff0c;也是历来考试的重点和难点。几何画板作为专业的几何绘图工具&#xff0c;可以用来画椭圆图形。方法一、确定中心法步骤一…...

c语言 椭圆,C语言画圆椭圆

C语言画圆椭圆C语言画图实验代码&#xff0c;包含画直线&#xff0c;画圆&#xff0c;椭圆#include "graphics.h"#include "conio.h"#include "dos.h"#include "math.h"#include "stdio.h"/* 直线中点算法*/void midpointli…...

matlab绘制一组椭圆,在MATLAB中绘制椭圆和椭圆体

Ellipse文章Wikipedia有一个简单的JavaScript代码绘制椭圆.它使用参数形式&#xff1a;x(theta) a0 ax*sin(theta) bx*cos(theta)y(theta) b0 ay*sin(theta) by*cos(theta)哪里(a0,b0) is the center of the ellipse(ax,ay) vector representing the major axis(bx,by) v…...

html文本框椭圆,怎么用css画椭圆?

现在随着css3的发展&#xff0c;很多形状可以通过css3画出&#xff0c;本篇文章给大家带来的内容是关于如何快速简单的使用css3画出各种各样的椭圆。使用css3画出各种各样的椭圆的原理&#xff1a;我们需要使用css3中的border-radius属性&#xff0c;修改width值为200px&#x…...

matlab画椭圆 长轴 短轴,跟踪目标的快速椭圆拟合方法

摘 要&#xff1a; 提出一种基于最小外包矩形的快速椭圆拟合方法&#xff0c;该方法利用最小二乘法获得目标的最小外包矩形框&#xff0c;再求取外包矩形框的内切椭圆&#xff0c;该椭圆能有效反映目标的大部分运动信息。本文对该方法进行了目标拟合的有效性和实效性实验分析。…...

几何画板椭圆九种画法_几何画板怎么制作椭圆定义演示动画?

我们知道&#xff0c;在平面内到两个定点的距离之和等于定长的点的轨迹是椭圆&#xff0c;这是椭圆的定义&#xff0c;如何制作椭圆定义演示动画呢&#xff0c;如下图。今天小编手把手教你制作这个课件。软件名称&#xff1a;nb几何画板软件 v1.0.1 中文官方安装版软件大小&…...

怎么用matlab画误差椭圆,matlab画误差椭圆

一 图4椭圆抛物面 图5双曲抛物面 图6锥面 例如画螺旋曲线的图形,其参数方程设...数学实验第二次实验报告——MATLAB基本图形绘制_理学_高等教育_教育专区。数...实验作业 2 解: 代码如下: xlinspace(-0.5,0.5,30); ycos(tan(pi*x)); plot(x,y) 结果: MATLAB 作图 1、用 plot,fp…...

js实现椭圆轨迹_Js 椭圆轨迹运动动画 代码分享

椭圆曲线*{margin:0px;padding:0px;}div{border:1px solid #111;}.points{width:1px;height:1px;border:0px solid #111;position:absolute;line-height:1px;font-size:1px;background:#111;}.go-oval{width:10px;height:10px;border:0px solid #111;position:absolute;line-he…...

html 椭圆特效,使用CSS3实现椭圆动画效果

写在前面的话&#xff1a;有这样一个需求&#xff0c;在大屏中要实现几个球用椭圆形状的布局进行展示&#xff0c;展示的同时还要沿着椭圆轨道进行运动。经过 百度结合自身的思考之后给出了以下demo。正文&#xff1a;首先我们先写结构类名为area的div为存放球类的容器&#xf…...

椭圆 / 椭圆的画法

原文链接&#xff1a; https://www.lfhacks.com/t/draw-ellipse 在现实生活中如何画 椭圆 &#xff1f;椭圆并不是由圆压扁而来&#xff0c;而是要符合一定的规则才能称为椭圆。现实生活中如果有画椭圆的需求&#xff0c;应该按照固定的方法作图。本文介绍一些绘制椭圆的方法。…...

郑州计算机平面设计大专哪个学校最好,河南哪个学校的平面设计专业好?

河南很多家长和初高中生想学习平面设计专业&#xff0c;但是对这个专业和学校却不甚了解&#xff0c;很多家长和学生想知道河南哪个学校的平面设计专业好&#xff1f;今天小编就和大家分析一下。河南哪个学校的平面设计专业好&#xff1f;什么样的学校好&#xff0c;要看品牌、…...

计算机平面设计福建专科学校,2016年福建单招视觉传达设计专业的学校有哪些?...

2021年高职单招升学一对一咨询向冲:15730102465(微信)视觉传达设计专业是目的为传播特定事物通过可视形式的主动行为。或许对于很多人来说对这专业不能明确的理解&#xff0c;但此专业就业率是很高的&#xff0c;2016年福建单招临近&#xff0c;近期有人问福建单招视觉传达设计…...