首页 文章 精选 留言 我的

精选列表

搜索[本地大模型],共10005篇文章
优秀的个人博客,低调大师

Hadoop2.6.0版本MapReudce示例之WordCount(一)

一、准备测试数据 1、在本地Linux系统/var/lib/hadoop-hdfs/file/路径下准备两个文件file1.txt和file2.txt,文件列表及各自内容如下图所示: 2、在hdfs中,准备/input路径,并上传两个文件file1.txt和file2.txt,如下图所示: 二、编写代码,封装Jar包并上传至linux 将代码封装成TestMapReduce.jar,并上传至linux的/usr/local路径下,如下图所示: 三、运行命令 执行命令如下:hadoop jar /usr/local/TestMapReduce.jar com.jngreen.mapreduce.test.WordCount /input/file1.txt /input/file2.txt /output/output 命令执行过程截图如下: 四、查看运行结果 查看hdfs输出路径/output下的结果,如下图所示: 运行结果为Hello 4、Hadoop 1、Man 1、Boy 1、Word 1,完全正确! 五、WordCount展示 源码如下: import java.io.IOException; import java.util.StringTokenizer; 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; public class WordCount { // TokenizerMapper作为Map阶段,需要继承Mapper,并重写map()函数 public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable>{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(Object key, Text value, Context context ) throws IOException, InterruptedException { // 用StringTokenizer作为分词器,对value进行分词 StringTokenizer itr = new StringTokenizer(value.toString()); // 遍历分词后结果 while (itr.hasMoreTokens()) { // 将String设置入Text类型word word.set(itr.nextToken()); // 将(word,1),即(Text,IntWritable)写入上下文context,供后续Reduce阶段使用 context.write(word, one); } } } // IntSumReducer作为Reduce阶段,需要继承Reducer,并重写reduce()函数 public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context ) throws IOException, InterruptedException { int sum = 0; // 遍历map阶段输出结果中的values中每个val,累加至sum for (IntWritable val : values) { sum += val.get(); } // 将sum设置入IntWritable类型result result.set(sum); // 通过上下文context的write()方法,输出结果(key, result),即(Text,IntWritable) context.write(key, result); } } public static void main(String[] args) throws Exception { // 加载hadoop配置 Configuration conf = new Configuration(); // 校验命令行输入参数 if (args.length < 2) { System.err.println("Usage: wordcount <in> [<in>...] <out>"); System.exit(2); } // 构造一个Job实例job,并命名为"word count" Job job = new Job(conf, "word count"); // 设置jar job.setJarByClass(WordCount.class); // 设置Mapper job.setMapperClass(TokenizerMapper.class); // 设置Combiner job.setCombinerClass(IntSumReducer.class); // 设置Reducer job.setReducerClass(IntSumReducer.class); // 设置OutputKey job.setOutputKeyClass(Text.class); // 设置OutputValue job.setOutputValueClass(IntWritable.class); // 添加输入路径 for (int i = 0; i < args.length - 1; ++i) { FileInputFormat.addInputPath(job, new Path(args[i])); } // 添加输出路径 FileOutputFormat.setOutputPath(job, new Path(args[args.length - 1])); // 等待作业job运行完成并退出 System.exit(job.waitForCompletion(true) ? 0 : 1); } }

优秀的个人博客,低调大师

docker镜像分析工具diving-rs 0.5.0版本发布

diving使用rust构建的docker镜像分析工具,程序体积更小,性能更,主要特性如下: 支持命令行与网页两种模式 支持四种拉取镜像方式:从镜像源、本地docker镜像中读取以及tar包 支持多个平台,包括:linux,windows,macos 可指定分析的镜像架构:arm64或amd64 更多的说明:github.com/vicanso/diving-rs 程序下载:github.com/vicanso/diving-rs/releases

优秀的个人博客,低调大师

Nacos 发布了一本架构原理书,免费下载

作者 | 于怀 Nacos 发起人 & Maintainer 一、Nacos 开源诞生 2018年 7 月 21 日,完成在 github 进行最后检查工作,凌晨 2 点 Nacos 在 github 上正式发布对外宣布 Nacos 正式开源,产品脱身于阿里巴巴在分布式领域多年的沉淀的经验,定位于一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。从那年夏天开始,Nacos 的社区也就正式成立了。经过 3 年多的时间,Nacos 已经成长为国内服务发现和配置管理首选的开源中间件。 二、Nacos 发展从初创期向社会基础设施发展 初创期赢得广泛关注 Nacos的成长包括了三个阶段,第一个是初创期,Nacos 最早的关注也都来自于业内对于阿里巴巴分布式系统架构的好奇,当时 Nacos 赶在凌晨发布也正是兑现对外界的承诺。这个阶段正是大家的新奇给了 Nacos 一个表现的机会,相比之前开源比较成熟的 Zookeeper、Eureka、Consul等,在易用、稳定、实时、规模上都有不错的表现,赢得了大家后续的持续关注。 发展期产品快速迭代 第二阶段是发展期,随着持续的关注和产品表现,Nacos 吸引了用户,这个时间点 Nacos 经过快速迭代,在首次的 Nacos meetup 上发布了 Nacos1.0 GA版本,在这个时候其实已经有大量的用户开始在公司使用 Nacos 了,GA 版本增加了更多人对 Nacos 的兴趣和信心。目前 Nacos 已经经过了 40+ 版本的迭代,无缝支持Dubbo/Spring-Cloud/ 服务网格生态。根据《GitHub 2020 数字洞察报告》,在GitHub 2020 年中国项目活跃度 Top 20,Nacos 社区活跃度跻身前十。 Nacos社区共吸引了 200 多位优秀贡献者,积累了虎牙、好未来、小米等多家企业案例,Nacos 的 github 的star 数已经增长突破了 2w。 在近日开源中国发布的 2021 年度 OSC 中国开源项目评选中,Nacos 被评为云原生领域人气指数 Top5 的项目,国内企业已经普遍开始使用 Nacos 。 目前 Nacos 已经发布了 2.0 版本,并且已经有普遍的生产使用经验,在性能大幅度提升的前提下,稳步的进行技术迭代。Nacos3.0 的架构社区内已经开始逐步规划,预计不久也会跟大家见面。 全面应用期面向社会基础设施演进 正处于被大规模使用的 Nacos 的第三阶段是成为基础设施,面向于基础设施进行演进,帮助企业数字化转型,深度的拥抱各个领域内的场景,并且更深度的帮助企业解决问题。 面向这个阶段,我们决定在这个时候发布电子书,计划发布一系列围绕着 Nacos 原理和使用的电子书,《Nacos 架构与原理》是电子书系列的第一部分,用于向大家更好的解释 Nacos 的设计理念和架构原理,书中凝聚着社区以及用户的大量经验,目的帮助更多的人和更多企业,更快速的熟悉和使用 Nacos,解决在实际应用中出现的问题。该系列的电子书是以非盈利为目的,内容是有社区和用户共同完成,免费开放下载。 2021年 12 月 21 日,Nacos 社区通过直播的方式,在线举办了《Nacos架构与原理》电子书在线发布会,直播覆盖 6w 开发者,内容上通俗易懂,从 Nacos 的起源开始讲起,让读者更了解 Nacos 发展历程,主体内容讲述 Nacos 的整体架构设计,以及服务发现和配置管理的内核设计原理,并且概述内核设计在可用性、安全性、易用性等方面思考,帮助读者能更快的了解 Nacos 一些设计的初衷。本书也深度介绍了 Nacos 生态圈以及和紧密融合生态,包含 Spring、Dubbo、Kubernetes和 Mesh 等主流生态。额外包含了企业级落地的场景下最佳实践,配置管理和服务发现场景下一些实用的限流和使用上的实践经验沉淀。 电子书免费下载地址:https://developer.aliyun.com/topic/download?id=8230 整本书目前免费开放下载,希望带来三方面的好处: 规范化:希望本书帮助个人和企业快速的规范使用 Nacos ,让 Nacos 不仅易用,还要按照自己的想法好用,规范使用。 分布式经验延展:既要知其然也要知其所以然,对个人在以后的架构设计中有重要的意义,帮助社区和用户更深入的了解 Nacos 的设计和思考,这个背后有阿里在微服务领域10几年沉淀的经验,并且也融合了其他公司场景的经验和最佳实践,帮助个人和企业成长。 帮助更多企业:通过学习电子书沉淀下来的内容,能进一步提升 Nacos 易用性,让更广泛的企业和用户使用 Nacos ,Nacos 要做到面向基础设施发展后要把架构和原理以及实践向更多人传播,并且参与其中。 三、社区共建内容 《Nacos 架构与原理》是 Nacos 电子书系列计划的第一步,并且这部分内容希望和社区共同创作,社区会推动 Nacos 电子书持续更新迭代,也欢迎更多小伙伴能加入 Nacos 社区一起创作。我们把电子书文档通过语雀公开文档像社区开放评论和更新,希望大家针对于内容共同进行校对,并且也欢迎进行投稿,把经验向社区更多个人和企业进行分享。 Nacos 电子书语雀共建库:https://www.yuque.com/nacos/ebook(PC端浏览、下载体验更好) 四、结尾 在此阶段要做的事情很多,开放电子书也是其中的一个原点,随着后续产品的更新和社区的壮大,我们会向用户发布更多内容。至此感谢所有参与 Nacos 的社区同学,也感谢所有使用 Nacos 的用户,也是你们让 Nacos 每个阶段走的更有意义。 点击下方链接,免费下载电子书 https://developer.aliyun.com/topic/download?id=8230

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册