Hadoop mapReduce 如何在 HDFS 中仅存储值

2023-11-27

我用它来删除重复的行

public class DLines
 {
   public static class TokenCounterMapper extends Mapper<Object, Text, Text, IntWritable>
    {
    private final static IntWritable one = new IntWritable(1);
      private Text word = new Text();
      @Override
      public void map(Object key, Text value, Context context) throws IOException, InterruptedException
       {
           String line=value.toString();
           //int hash_code=line.hashCode();
           context.write(value, one);
       }
   }

public static class TokenCounterReducer extends Reducer<Text, IntWritable, Text, IntWritable> 
 {
        @Override
    public void reduce(Text key, Iterable<IntWritable> values, Context context)throws IOException, InterruptedException 
     {
 public void reduce(Text key, Iterable<IntWritable> values, Context context)throws IOException, InterruptedException 
     {
       int sum = 0;
       for (IntWritable value : values) 
       {   
           sum += value.get();        
       }
       if (sum<2)
           {
             context.write(key,new IntWritable(sum));
           }
      }
      }

我必须只将密钥存储在 hdfs 中。


如果您不需要减速器的价值,只需使用空可写.

你可以简单地说context.write(key,NullWritable.get());

在你的驱动程序中,你还可以设置

 job.setMapOutputKeyClass(Text.class);
 job.setMapOutputValueClass(IntWritable.class);

&

 job.setOutputKeyClass(Text.class);
 job.setOutputValueClass(NullWritable.class);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop mapReduce 如何在 HDFS 中仅存储值 的相关文章

随机推荐

  • 使用 .NET SDK 按路径获取 Microsoft Graph Drive 项目

    因为它是有记录的 使用 Microsoft Graph REST API 您可以 以及其他选项 通过 ID 或路径获取项目 这工作正常 正如预期的那样 GET me drive items item id children GET me d
  • WPF:禁用列表框,但启用滚动

    整个早上我都在用头撞这个问题 基本上 我有一个列表框 我希望防止人们在长时间运行的过程中更改选择 但允许他们仍然滚动 解决方案 所有的答案都很好 我选择了吞咽鼠标事件 因为这是最直接的 我将 PreviewMouseDown 和 Previ
  • 加载 pandas 数据帧,其块大小由列变量确定

    如果我有一个太大而无法用 pandas 加载到内存中的 csv 文件 在本例中为 35gb 我知道可以使用 chunksize 分块处理该文件 但是我想知道是否可以根据列中的值更改块大小 我有一个 ID 列 然后每个 ID 都有几行包含信息
  • Twisted:等待子任务完成

    在我的代码中 我有两个假设的任务 一个从生成器获取 url 并使用 Twisted 的 Cooperator 批量下载它们 另一个获取下载的源并异步解析它 我试图将所有获取和解析任务封装到一个 Deferred 对象中 该对象在下载所有页面
  • 从 Django 直接输入数据以生成 D3 图

    似乎所有 D3 示例图都采用外部 csv 或 tsv 文件作为输入数据 有没有办法修改代码以从 Django 中的变量获取数据 假设 data 是 JSON 格式 如何在图表中实现它 例如http bl ocks org 3885304 o
  • 某些应用程序如何阻止/替换平视通知?

    背景 自从 Android 上出现平视通知以来 有些人喜欢它的快速处理 但有些人讨厌它显示在应用程序 尤其是游戏 顶部 为了显示抬头通知 开发人员可以使用类似的东西 final NotificationCompat Builder buil
  • 为什么没有 std::move_if 算法?

    我在互联网上看到过一些地方 他们描述了使用std copy if with std make move iterator 但如果迭代器是前向迭代器 则会导致有效但未指定的 VBU 对象分散在源容器周围 拥有一个不是更好吗std move i
  • 如何在asp.net c# 中统计网站的访问者数量

    如何统计asp net c 网站的访问者数量 我正在使用下面的代码 在 global asax 页面中 void Application Start object sender EventArgs e Code that runs on a
  • Array.Find 和 IndexOf 用于查找完全相同对象的多个元素

    我无法获取完全相同对象的多个元素的当前元素的索引 b A D B D C E D F b contains D 替代版本 b A D B D C E D F Array FindAll b Predicate String args 0 c
  • BPMS 还是只是简单的编程?

    在实现业务流程时 您更喜欢什么 从开发人员的角度来看 业务流程管理系统 BPMS 还是您最喜欢的带有所需工具和框架 例如报告工具 的 IDE 从您的角度来看 与具有您个人工具和框架的 IDE 相比 BPMS 的最大好处是什么 好的 也许我应
  • Python Pandas,应用函数

    我正在尝试使用 apply 来避免iterrows 函数中的迭代器 然而 pandas 方法的记录很少 我找不到如何使用它的示例 除了蹩脚的 apply sq rt 在文档中 没有关于如何使用参数等的示例 不管怎样 这里有一个关于我尝试做的
  • 如何将 git-replace 推送到远程仓库?

    我使用 git Replace 来替换分支 没有共同祖先 22b2b25 来替换 master 中的提交 我希望这种改变是永久性的 我对以前的历史不感兴趣 在下面的输出中 前 5 个提交来自原始 master 分支 后 2 个来自不同的分支
  • appengine-maven-plugin 配置选项,例如 jvm 标志

    从1 7 4版本开始 Google App Engine 的官方 appengine maven plugin 是由 Google 发布的 它有一个任务 appengine devserver 来启动本地开发服务器 这个插件似乎没有任何 M
  • 带有 Kubernetes 客户端插件的 Jenkins - NoSuchMethodError

    将 jenkins 插件 Kubernetes Client 升级到版本 1 30 3 也适用于 1 31 1 后 当我开始构建时 我在 jenkins 日志中收到以下异常 Timer task org csanchez jenkins p
  • 删除流星身份验证的登录令牌

    我不确定以前是否有人问过这个问题 但是loginTokens变得非常大并且没有任何清理会使我的数据库大小增加 对此我们正在做什么 其他人正在做什么来管理这个问题 我指的是默认的Meteor users services其中有一个loginT
  • 使用Cgroups限制cpu使用

    我正在尝试使用 cgroups 来限制 CPU 使用率 我正在使用本指南https access redhat com documentation en US Red Hat Enterprise Linux 6 html Resource
  • 无法从使用本地类型参数化的另一个包中实现来自另一个包的泛型类型的特征

    此测试代码 playpen use std fmt Display Formatter Error struct MyLocalType type MyResult Result
  • 在java中绘制圆的切片?

    我想通过一个实心圆来表示一个计时器 该实心圆是在计时器的过程中逐段完全绘制的 IE 如果在 4 秒计时器内每 1 秒填充一次圆圈 第一个将显示四分之一圆 然后是半圆 然后是四分之三 最后是一个完整的圆 有没有办法在java中绘制这些圆的切片
  • 在 hbase shell 上执行 ValueFilter 或 ColumnFilter

    谁能告诉我如何从 hbase shell 命令行执行限定符过滤器或 ValueFilter 它与使用任何编程语言进行编码的方式非常相似 例如 import org apache hadoop hbase filter CompareFilt
  • Hadoop mapReduce 如何在 HDFS 中仅存储值

    我用它来删除重复的行 public class DLines public static class TokenCounterMapper extends Mapper