����λ�ã���ҳ > �����̳� > �̳� > ���������Hadoop��IntelliJ IDEAԶ�����ӷ�������Hadoop����WordCount
������������һ�Ĵ����ݣ���Ϊһ��Hadoop�����֣���Ҳ����������̽�ָ��ӵĵײ�Ô������ˣ���ƪ���µ��ص�����Ǵ�ʵ�ʲ���������ʵ���ĽǶȳ�����������һ���˽������Ӧ�õĻ������̡����ǽ�ͨ��һ������İ�������WordCounter��������������š�����˵�����������Ŀ���Ǵ�һ���ı��ļ��ж�ȡÿһ
������������һ�Ĵ����ݣ���Ϊһ��Hadoop�����֣���Ҳ����������̽�ָ��ӵĵײ�Ô������ˣ���ƪ���µ��ص�����Ǵ�ʵ�ʲ���������ʵ���ĽǶȳ�����������һ���˽������Ӧ�õĻ������̡����ǽ�ͨ��һ������İ�������WordCounter��������������š�����˵�����������Ŀ���Ǵ�һ���ı��ļ��ж�ȡÿһ�У�ͳ�����е��ʳ��ֵ�Ƶ�ʣ��������һ��ͳ�ƽ���������Ͽ�����������ƺ����ѣ��Ͼ������ڱ�����Java����Ϳ��Ժ����ɵ�ʵ�֡�
Ȼ����ʵ�����������˼òµ¥¡ï¿½ï¿½ï¿½È»ï¿½ï¿½ï¿½ï¿½ï¿½Ü¹ï¿½ï¿½ï¿½Ò»Ì¨ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Í¨ï¿½ï¿½ï¿½òµ¥µï¿½Java����������Ƶ����ñ£¬µï¿½ï¿½Ú´ï¿½ï¿½ï¿½ï¿½ÝµÄ³ï¿½ï¿½ï¿½ï¿½Â£ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ô¶Ô¶ï¿½ï¿½ï¿½ï¿½Ò»Ì¨ï¿½ï¿½ï¿½ï¿½ï¿½Ü¹ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ê±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ò»Ì¨ï¿½ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½ï¿½ï¿½ï¿½ï¿½Ô´ï¿½ï¿½ï¿½Þ·ï¿½Ó¦ï¿½ï¿½ï¿½Ó´ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ç·Ö²ï¿½Ê½ï¿½ï¿½ï¿½ï¿½Í´æ´¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Òªï¿½ï¿½ï¿½ï¿½ï¿½Ú¡ï¿½ï¿½Ö²ï¿½Ê½ï¿½ï¿½ï¿½ã½«ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Îªï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ñ£¬²ï¿½ï¿½ï¿½ï¿½Ã¶ï¿½Ì¨ï¿½ï¿½ï¿½ï¿½Ðͬ�������Ӷ�ʵ�ָ�Ч�����������ݣ����ֲ�ʽ�洢����Խ������зֲ��洢�ڶ���ڵ��ϣ�������ݴ洢�ͷ��ʵ�ƿ����
��ˣ�ͨ������Ľ��ܣ���ϣ���ܹ�����Ҵ�һ���򵥵����ӳ���������������ݴ�������ν���Hadoop�����ķֲ�ʽ��ܣ�����Ч�ؽ������ݼ���ʹ洢��
�����Ҳ�̫ϲ���ڱ��� Windows ϵͳ�Ͻ��а�װ����Ϊ���ػ�����ͨ������ۺܶ಻��Ҫ���ļ������ã����ܻ�Ӱ��ϵͳ�ĸɾ��������ȡ���ˣ���ʾ���ص㽫������ Linux ������Ϊ���Ļ����ϣ�ͨ�� Docker ʵ�ֿ��ٲ���
���ǽ����ñ���������һ��ʽ��װ��ֻ��ͨ���򵥵IJ��������������������̣���ȥ�ֶ���������鷳���ð�װ��ø��ӱ�ݺͿ��١�
���ϵͳ�����Ѿ����⿪���˲��ֶ˿ڣ����� 9870 ���ڷ��� Web UI ���棬����һ����Ҫ�Ķ˿� 8020 ��û�п��š�����˿���������Ҫͨ�����ص� IntelliJ IDEA �������Ӻ�ʹ�õģ���˱����ֶ����ж�������ã�ȷ���ö˿��ܹ��������ʡ�����������Բο�����ʾ��ͼ�������ã��Ա�˳��������ӡ�
������Ѿ��ɹ�������������ã���ô��ʱ��Ӧ���ܹ�˳�����ʲ��鿴 Web ҳ�档��ͼ��ʾ��
���ǿ���ֱ�Ӵ���һ���µ���Ŀ����������Ŀ�����ֶ�������ص���Ŀ��Ϣ������
groupId
��
artifactId
��
version
�Ȼ������á�Ϊ��ȷ�������Ժ��ȶ��ԣ�����ѡ��ʹ�� JDK 8 ��Ϊ���������汾��
���ȣ������������鿴һ����Ŀ���ļ�Ŀ¼�ṹ���Ա��������Ŀ����֯��ʽ���ļ��ֲ���һ���������˽⡣
tree /f ����ֱ������
����input
�� test.txt
����output
����src
�� ����main
�� �� ����java
�� �� �� ����org
�� �� �� ����xiaoyu
�� �� �� InputCountMapper.java
�� �� �� Main.java
�� �� �� WordsCounterReducer.java
�� �� ��
�� �� ����resources
�� �� core-site.xml
�� �� log4j.xml
�����������ǽ�ʵ�ִ������еľ���ʾ������"Hello, World!" ����Ҳ��������ͨ����˵�� WordCounter��Ϊ��ʵ��������ܣ����ȣ�������Ҫ��д MapReduce ������ Map �׶Σ���Ҫ�������ǽ�������ļ����н����������ݷֽⲢת�����й��ɵĸ�ʽ�����磬���ʺ�����ִ����ļ�ֵ�ԣ������ţ��� Reduce �׶Σ����ǻ�� Map �׶���������ݽ��л��ܺ�ͳ�ƣ����յõ�������Ҫ��ͳ�ƽ��������ÿ�����ʵij��ִ�����
���⣬���ǻ���Ҫ��дһ�������ࡪ��Job �࣬�������ú����� MapReduce ����ȷ�� Map �� Reduce �׶ε������ܹ�˳�����С�ͨ�����������̵�ʵ�֣����Ǿ������һ�������� WordCounter ���򣬴Ӷ������� MapReduce �ĺ���˼����Ӧ�á�
����û��ʲô��˵�ģ�ֱ����������������ɣ�
org.apache.hadoop
hadoop-common
3.2.0
org.apache.hadoop
hadoop-hdfs
3.2.0
log4j
log4j
1.2.17
org.apache.hadoop
hadoop-client
3.2.0
org.apache.hadoop
hadoop-mapreduce-client-core
3.2.0
org.apache.hadoop
hadoop-mapreduce-client-common
3.2.0
�������õ�����Զ��Hadoop����������Ϣ��
fs.defaultFS
hdfs://���Լ���ip:8020
���Ǵ˴���Ҫ����ʾΪ������˲�����Ҫ�����dz�����ļ���Ϊ�˼���ʾ���̣����ڴ˽��ṩ��һ�������ݡ�
xiaoyu xiaoyu
cuicui ntfgh
hanhan dfb
yy yy
asd dfg
123 43g
nmao awriojd
��������һ��InputCountMapper�ࡣ��������:
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;
public class InputCountMapper extends Mapper {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String line = value.toString().trim();
for (int i = 0; i < line.split(" ").length; i++) {
word.set(line.split(" ")[i]);
context.write(word, one);
}
}
}
��Hadoop��MapReduce����У�д����ʵ����Լ򵥵ģ��ؼ�������ȷ����Ͷ��巺�͡�����Ҫ����һ��
Mapper
�࣬���������������Ϊ�䶨���ĸ��������͡�����������У�ÿ�����������һ�ԣ��γ�K-V����ֵ�ԣ��ṹ���������������˵���������ݵ�K-V������
LongWritable-Text
��������ݵ�K-V���Ͷ���Ϊ
Text-IntWritable
�������
LongWritable
��
Text
��
IntWritable
�ȶ���Hadoop�Զ�����������ͣ����Ǵ����˲�ͬ�����ݸ�ʽ�����͡�����
String
��Hadoop�б��滻��
Text
����������������ͨ�����ں������
Writable
��׺��
������������
Mapper
��������ʽ�������Ѿ��ڴ����ж����˸�ʽ���͡�Ȼ������Ҫע����ǣ�������д��
map
������û��ֱ�ӷ���ֵ���෴��
Mapper
���ͨ��
Context
�����Ķ������������ս����
��ˣ�����ֻ��Ҫȷ����
map
�����н���ʽ��������ݴ���
Context
��Ȼ�󽻸�
Reducer
�������ɡ�
��һ���Ĵ������£�
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
import java.io.IOException;
public class WordsCounterReducer extends Reducer {
@Override
protected void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
context.write(key, new IntWritable(sum));
}
}
��Hadoop��MapReduce�����
Reduce
�׶ε�д��Ҳ��Ñ�̶�ģʽ�����ȣ�������Ҫ����
Reducer
�࣬��������ĸ����Ͳ�����������
Mapper
�׶Ρ����ĸ����Ͱ��������ֵ�����͡�����ֵ���͡������ֵ�����͡��Լ����ֵ���͡�
��
Reduce
�׶Σ��������ݵĸ�ʽ�������仯����������ֵ�IJ��֣�ͨ������
Iterable
���͵ļ��ϡ�����仯��Ô���ǣ�
Mapper
�׶δ���ʱ������ͨ����ÿ�����ʵij��ִ�����������ͳ����Ϣ����Ϊ1����
Context
�����磬������
Mapper
�׶��������ʡ�xiaoyu��ʱ������ÿ�ζ������һ��
(xiaoyu, 1)
�ļ�ֵ�ԡ������������ʡ�xiaoyu�������������г��ֶ�Σ�
Context
�����Щ��ֵ�Ժϲ���һ��
Iterable
���ϣ�����
(xiaoyu, [1, 1])
����ʾ�õ��ʳ��������Ρ�
�����������
Reduce
�׶εIJ����dz��򵥣�ֻ��Ҫ��ÿ��
Iterable
�����е�ֵ�����ۼӼ��ɡ����磬����
xiaoyu
�����뼯��
(xiaoyu, [1, 1])
������ֻ��Ҫ�������е�
1
ֵ�ۼ��������ó����յĽ��2��
���������Ҫ����һ��Job���������£�
import org.apache.hadoop.conf.Configuration;
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;
public class Main {
static {
try {
System.load("E:\\hadoop.dll");//������þ��Ե�ַ��binĿ¼�µ�hadoop.dll�ļ�·��
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String[] args) throws Exception{
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "wordCounter");
job.setJarByClass(Main.class);
job.setMapperClass(InputCountMapper.class);
job.setReducerClass(WordsCounterReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path("file:///E:/hadoop/test/input"));
FileOutputFormat.setOutputPath(job, new Path("file:///E:/hadoop/test/output"));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
�õģ�������չʾ����һ����ȫ�̶���д��������ʵ�ʲ��������У���Ҫ�ر�ע����ǣ����DZ���ͨ�� Windows ����������Զ�̵� Hadoop ��Ⱥ������ز�������������л������ܶ�DZ�ڵ�����Ϳӣ������������á����ӡ�Ȩ�޵ȷ��档
���������ҽ���һ�����������Щ���������⣬ϣ����Ϊ����ṩһЩʵ�ʵIJο���ָ����������Ҹ�˳������ɲ�����
����㲢�����Ա��� Windows Ŀ¼Ϊ����������Զ�̷������ϵ�Ŀ¼Ϊ�����в�������ô����ܻ�����������µ�д����
FileInputFormat.addInputPath(job, new Path("/input"));
FileOutputFormat.setOutputPath(job, new Path("/output"));
��ô������������£����DZ����ȴ����������ص�����Ŀ¼��input��������Ҫ�ر�ע����ǣ�������ǰ�������Ŀ¼��output������Ϊ Hadoop ��������ҵʱ���Զ�������Ŀ¼�������Ŀ¼�Ѵ��ڣ��ᵼ����ҵִ��ʧ�ܡ���ˣ�ֻ��Ҫ���� Docker ������ֱ��ִ�����������˳����ʼ������
hdfs dfs -mkdir /input
��Ȼ������һ�ָ��򵥵ķ�ʽ������ֱ��ͨ��ͼ�ν�����ҳ���ϴ������Ŀ¼����Դ������������Բο����²��裬��ͼ��ʾ��
������������������ Job ����ʱ��ϵͳ�������һ�����Դ������Ŀ¼��output����Ȼ�������ڵ�ǰ�û���û���㹻��Ȩ�������д˲�������˻�������������µ�Ȩ�޴�����ʾ��
Permission denied: user=yu, access=WRITE, inode="/":root:supergroup:drwxr-xr-x
���ô�����ζ�ŵ�ǰ�û���yu����ͼ�ڸ�Ŀ¼�´���Ŀ¼���ļ��������ڸ�Ŀ¼��Ȩ������Ϊֻ�й���Ա��root������д�룬��ͨ�û��޷�����д�������Ӷ�������ҵִ��ʧ�ܡ�
����������Ҫ����docker������ִ���������
hadoop fs -chmod 777 /
���������ϾͿ���˳����������ˡ��������������ֱ�ӵ������鿴 output Ŀ¼�µ��ļ����ݡ�������Ҫע����ǣ���������û�����þ���� IP ��ַ������ڽ����ļ�����ʱ������Ҫ�ֶ����ļ��е� IP ��ַ�滻Ϊ���Լ���ʵ�� IP ��ַ������ȷ�����ع����ܹ�˳�����в��ɹ���ȡ������ļ���
��������ͨ��������ȱ��
hadoop.dll
�ļ����µġ��� Windows ϵͳ������ Hadoop ʱ��
hadoop.dll
����
winutils.exe
�DZ���������ļ�����Ϊ�����ṩ�� Hadoop �� Windows ������ı��ش���֧�ֺ�ִ�л�����
Ϊ��ȷ��˳�����У�����Ҫ���ض�Ӧ�汾��
hadoop.dll
����
winutils.exe
�ļ����Ѿ�Ϊ��׼�����˶�� Hadoop �汾��Ӧ����Щ�ļ������е��ļ������Դ������������أ�
https://github.com/cdarlint/winutils
��������ֻ����һ��hadoop.dll��Ϊ�˲��������ԣ�ֱ���ڴ�������д����
static {
try {
System.load("E:\\hadoop.dll");//������þ��Ե�ַ��binĿ¼�µ�hadoop.dll�ļ�·��
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
�����Ȼ�����⣬�Ǿ�������windows�µ�wsl��ϵͳ��
ʹ��Windows + R��ݼ��򿪡����С��Ի���ִ��OptionalFeatures�򿪡�Windows ���ܡ���
��ѡ�������� Linux �� Windows ��ϵͳ���͡������ƽ̨����Ȼ������ȷ������
���ڳɹ��ܳ�����ˣ�����������У�����Ľ���ǰ���Ĭ�ϵ�˳���������ģ���Ȼ�������ʽ�ǿ��Ը�����Ҫ�����Զ���ġ���������ο�����������Ȥ��ʵ���Ͽ��������˽Ⲣ����������ơ�
ͨ������ķ��������Ǽ򵥵��˽��˴����ݴ�����һ�������Ӧ�á���WordCounter����ͨ��Hadoop��ܵ�ʵ����չʾ�����ʹ��MapReduce���зֲ�ʽ���㡣��Ȼ�����Ͽ���WordCounter��һ����Լ򵥵ij��򣬵���ȴ��ʾ�˴����ݴ����еĺ���˼�롣
�Ӱ�װ���õ���д���룬����һ�����߹���Hadoop��Ⱥ�Ĵ���̣�ϣ��ͨ����ƪ���£����ܶԴ�����Ӧ�ÿ������ر���Hadoop����µ�MapReduce��̣����һЩ�����Ͱ����������ݵ������Ӵ�����ӣ���ÿһ��СС��ʵ������������������������ż�������һ����
����Ŭ����С�꣬һ�� Java �������ũ��DZ���о��� AI �����İ��ء����Ȱ�����������������Կ�Դ�����������顣ͬʱҲ��һλ��Ѷ�ƴ���֮�ǡ�������ר�Ҳ�������Ϊ������ר�ҡ�����������ߡ�
? �ҽ����߷������ڼ�����·�ϵĸ���̽���ë¾ï¿½é£¬Ï£ï¿½ï¿½ï¿½ï¿½Îªï¿½ï¿½ï¿½Ñ§Ï°ï¿½ï¿½É³ï¿½ï¿½ï¿½ï¿½ï¿½Ò»Ð©ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
? ��Ó��עŬ����С�꣡?
ʹ��Blender���ɳ���ģ��
�Ķ�ȫ����������ERA5�����ط���
�Ķ�Xpath���������﷨
�Ķ�����ѧϰ�������繹�����£�
�Ķ���ΪMateƷ��ʢ�䣺HarmonyOS NEXT�ӳ�����Ϸ���ܵõ�����ͷ�
�Ķ�ʵ�ֶ��󼯺���DataTable���໥ת��
�Ķ�Ӳ�̵Ļ���֪ʶ��ѡ��ָ��
�Ķ�������й��ƶ��ı�ͼ��ײ�
�Ķ�����NEXTԪ�����������ѿ����ϼ���Ʒ
�Ķ��ᳲ���С������������Ƽ��رշ���
�Ķ������ArcMap�����н���դ��ͼ���ز�������
�Ķ��㷨�����ݽṹ 1 - ģ��
�Ķ���Ѷ�����߿ͷ���Ӫ��ϵͳ����
�Ķ���Ѷ��Ƶҹ��ģʽ���ý̳�
�Ķ����ں���NEXT��Ѫ���Ŵ���������������
�Ķ�5. Spring Cloud OpenFeign ����ʽ WebService �ͻ��˵ij���ϸʹ��
�Ķ�Java����ģʽ����̬�����Ͷ�̬�����ĶԱȷ���
�Ķ�Win11�ʼDZ����Զ�����Ӧ�õ���ɫ����ʾ����
�Ķ�˼�� V1.5.6 ��׿��
��ս�귨 V7.5.0 ��׿��
У��������������׵������� V1.0 ��׿��
��˸֮�� V1.9.7 ��׿��
������Ե����� v1.0.4 ��׿��
������֮ŠV5.2.3 ��׿��
��������������Դ V1.0 ��׿��
���֮Ϣ V1.0 ��׿��
��ħ������������䣩 V1.0 ��׿��
���ں�������ϵ�����������������վ�����������������Ƽ�����
Ƶ�� ����Ƶ��������ר������������׿�������app����
�Ƽ� ��Ô���������°��������ܿ������ز���
���� ����ɫ������������ ���������ս������������
ɨ��ά�����������ֻ��汾��
ɨ��ά����������΢�Ź��ںţ�
��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]
��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������