18 统计网站每日的访问次数

1.将竞赛的数据上传HDFS,查看数据的格式

通过浏览器访问hdfs,查看该文档前面的部分数据

每条数据的字段值之间使用逗号隔开的 ,最终时间是第五个自动,获取第五个字段值的中的年月日。

2.通过Idea创建项目mr-raceData ,基础的配置

修改pom.xml,添加依赖

复制代码
<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>3.1.4</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.30</version>
    </dependency>
</dependencies>

在resources目录下,新建log4j.properties

复制代码
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=D:\\visitcount.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

编写代码后,需要将其打成Jar包,需要修改pom.xml

复制代码
<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
             
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

打包使用的插件:

指定打包的方式为jar

编写源代码:

Mapper模块:

Reducer模块:

Driver模块:

最后使用maven打包为Jar,按以下四步参考,clean-->validate-->compile-->package

在当前项目下的target目录下找到打包后的jar文件

将jar文件拷贝到桌面,并上传的master的当前用户目录下

将竞赛日志数据取部分上传到hdfs上

yt@master \~$ hdfs dfs -put access_log.txt /bigdata/

执行jar文件,实现访问每条访问次数的统计

yt@master \~$ hadoop jar visitcount-1.0-SNAPSHOT.jar com.maidu.visitcount.DailyAccessCount /bigdata/access_log.txt /output11/

执行完成后,可以查看输出文件,看到最终的统计结果。

查看统计的结果:

统计成功。

相关推荐
wangchunyu1142 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck2 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir2 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人3 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521593 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
南归北隐5 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp
古法老登瞎折腾5 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
ai大模型-探索者5 小时前
Function Call与MCP(区别、联系与实战)
java·服务器·网络
略略略咯咯5 小时前
啊啊啊啊啊
java·服务器·数据库
SL_staff5 小时前
运维救火实战:钉钉API变更致薪资计算中断,如何用可视化逻辑引擎5分钟热修复
java·开源·全栈