新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
伪分布模式hadoop如何运行java源程序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都网站建设哪家好,找创新互联建站!专注于网页设计、网站建设公司、微信开发、微信小程序、集团企业网站设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:食品包装袋等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞誉!
写好源代码之后,首先要编译: javac -classpath /usr/local/hadoop/hadoop-core-1.2.1.jar:/usr/local/hadoop/lib/commons-cli-1.2.jar count.java -d org 在org目录下生成三个class文件: count.class count\ Map.class count\ Reduce.class 之后将三个class文件打包: jar -cvf count.jar -C org/ . 之后在hadoop根目录下生成count.jar文件 创建分布式文件夹,并把要分析的数据放入之中: bin/hadoop fs -mkdir input bin/hadoop fs --put ~/Downloads/Gowalla_totalCheckins.txt input (~/Downloads/Gowalla_totalCheckins.txt为我文件所在位置) 通过localhost:50070可以查看: 可以看到txt中的数据已经考到了input下。 接下来运行程序: bin/hadoop jar count.jar count input output 运行完之后会发现:生成一个output文件夹,其下有三个文件,输出的信息保存在part-r-00000中 文件内容:
196514 2020-07-24T13:45:06Z 53.3648119 -2.2723465833 145064 196514 2020-07-24T13:44:58Z 53.360511233 -2.276369017 1275991
196514 2020-07-24T13:44:46Z 53.3653895945 -2.2754087046 376497 196514 2020-07-24T13:44:38Z 53.3663709833 -2.2700764333 98503
196514 2020-07-24T13:44:26Z 53.3674087524 -2.2783813477 1043431
196514 2020-07-24T13:44:08Z 53.3675663377 -2.278631763 881734
196514 2020-07-24T13:43:18Z 53.3679640626 -2.2792943689 207763 196514 2020-07-24T13:41:10Z 53.364905 -2.270824 1042822
其中第一列为用户id ,第二列为登录时间,第三列是用户的纬度,第四列我为用户的经度,第五列为用户的地址id 本次程序是分析用户的登录时间,并分时间段进行统计。
源代码:
import java.io.IOException; import java.util.*; 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.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser; public class count { public static class Map extends Mapper
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。