小编Bob*_*Bob的帖子

Hadoop:键和值在输出文件中以制表符分隔.怎么做以分号分隔?

我认为标题已经解释了我的问题.我想改变

key (tab space) value
Run Code Online (Sandbox Code Playgroud)

key;value
Run Code Online (Sandbox Code Playgroud)

在所有输出文件中,reducer是从映射器的输出生成的.

我用谷歌找不到这方面的好文档.任何人都可以提供一些关于如何实现这一目标的代码?

reduce hadoop mapreduce map

12
推荐指数
2
解决办法
2万
查看次数

过滤数据框

我已经在矩阵形式的csv文件中读取(有m行和n列).我想通过以口头形式进行过滤来过滤矩阵:

从列x中选择所有值,其中此行中另一列的值等于"blabla".

它就像数据库中的select语句,我说我对矩阵的一个子集感兴趣,需要满足这些约束.

我怎么能在r?我将数据作为数据帧,并可以通过标题访问它.data["column_values" = "15"]不会给我回到名为column_values的列只有值15的行.

谢谢

select r filter

11
推荐指数
2
解决办法
4万
查看次数

Hadoop MapReduce:适当的输入文件大小?

我的数据集大小为3位GB,甚至是1或2位TB.因此,输入文件是一个文件列表,每个文件的大小为10GB.我的地图减少了hadoop中的作业处理所有这些文件,然后只提供一个输出文件(带有聚合信息).

我的问题是:

  1. 从Apache调优hadoop/mapreduce框架的适当文件大小是多少?我听说更大的文件大小比小文件大.有什么想法吗?我唯一知道的是hadoop读取块,每个块默认为64MB.因此,如果文件大小是64MB的乘数,那将是很好的.

  2. 目前,我的应用程序只将输出文件写入一个文件.那么文件大小当然是3位千兆位.我想知道我如何有效地分区文件.当然我可以使用一些unix工具来完成这项工作.但它是否更喜欢直接在hadoop中这样做?

谢谢你的意见!

PS:我没有压缩文件.输入文件的文件格式为text/csv.

size hadoop mapreduce file

11
推荐指数
3
解决办法
8707
查看次数

警告snappy.LoadSnappy:未加载Snappy本机库

无论我做什么,我都无法摆脱这个错误.我知道snappy是一个快速的,因此比其他选项更适合压缩/解压缩库.我想使用这个库进行处理.据我所知,Google在内部使用了BigTables,MapReduce(基本上用于所有杀手级应用程序).我自己研究过.人们建议不要使用它,或者选择java-snappy,但我想坚持使用hadoop snappy.我的设置中有相应的库.(我的意思是在lib下)

有人可以修复此错误吗?无论出现此错误,我都看到作业已成功完成.

****hdfs://localhost:54310/user/hduser/gutenberg
12/06/01 18:18:54 INFO input.FileInputFormat: Total input paths to process : 3
12/06/01 18:18:54 INFO util.NativeCodeLoader: Loaded the native-hadoop library
12/06/01 18:18:54 WARN snappy.LoadSnappy: Snappy native library not loaded
12/06/01 18:18:54 INFO mapred.JobClient: Running job: job_201206011229_0008
12/06/01 18:18:55 INFO mapred.JobClient:  map 0% reduce 0%
12/06/01 18:19:08 INFO mapred.JobClient:  map 66% reduce 0%
12/06/01 18:19:14 INFO mapred.JobClient:  map 100% reduce 0%
12/06/01 18:19:17 INFO mapred.JobClient:  map 100% reduce 22%
12/06/01 18:19:23 INFO mapred.JobClient:  map 100% reduce 100%
12/06/01 …
Run Code Online (Sandbox Code Playgroud)

hadoop mapreduce

9
推荐指数
1
解决办法
1万
查看次数

Hadoop MapReduce:可以在一个hadoop作业类中定义两个映射器和缩减器吗?

我有两个独立的java类用于执行两个不同的mapreduce作业.我可以独立运行它们.它们运行的​​输入文件对于这两个作业都是相同的.所以我的问题是,是否可以在一个java类中定义两个映射器和两个reducer

mapper1.class
mapper2.class
reducer1.class
reducer2.class
Run Code Online (Sandbox Code Playgroud)

然后喜欢

job.setMapperClass(mapper1.class);
job.setmapperClass(mapper2.class);
job.setCombinerClass(reducer1);
job.setCombinerClass(reducer2);
job.setReducerClass(reducer1);
job.setReducerClass(reducer2);
Run Code Online (Sandbox Code Playgroud)

这些设置方法是否实际覆盖了以前的方法或添加新方法?我尝试了代码,但它执行了唯一的最新给定的类,这让我认为它会覆盖.但是必须有一种方法可以做到这一点吗?

我问这个的原因是我只能读取输入文件一次(一个I/O),然后处理两个map reduce作业.我也想知道如何将输出文件写入两个不同的文件夹.目前,两个作业都是独立的,需要输入和输出目录.

hadoop mapreduce

8
推荐指数
2
解决办法
2万
查看次数

图形可视化工具

我正在寻找图形可视化工具,如gephi或graphiz,我可以使用它放大或缩小图形.该图是无向的并且具有边权重.我想知道您使用哪些工具以交互方式可视化图形.(如放大和缩小,如果可能的话突出显示某些节点​​等...)

我有5000个节点,其中包含> 1000个边缘.因此,我认为基于网络的工具并不合适.如果它也可以与java代码集成也会很好.

现在我正在提取图形表示(可以采用任何格式,因为我可以用Java完成).目前,我正在加载它的gephi,但内存不足.如果有解决方案会很好.你用哪些工具?我如何与内存限制相处?

graph

5
推荐指数
0
解决办法
1393
查看次数

JAVA:如何解析文本文件行中的整数(由可变数量的空格分隔)

我想逐行解析文本文件中的数字.例如,想象_作为空间

我的文本文件内容如下:

___34_______45
_12___1000
____4______167
...
Run Code Online (Sandbox Code Playgroud)

我想你明白了.每行可以有可变数量的空格来分隔数字,这意味着根本没有模式.最简单的解决方案可以通过char读取char并检查它是否是一个数字,直到数字字符串的结尾并解析它.但必须有其他方式.我如何自动在Java中读取这些内容,以便我可以获得某个数据结构中的数组

[34,45]
[12,1000]
[4,167]
Run Code Online (Sandbox Code Playgroud)

java parsing integer line text-files

5
推荐指数
2
解决办法
1万
查看次数

Hadoop MR:更好的压缩输入文件或原始文件?

从问题中可以得出,我想知道什么时候有压缩格式的输入文件(如gzip)以及何时以非压缩格式输入文件是有意义的.

压缩文件的开销是多少?读文件时速度慢得多吗?是否对大输入文件进行了基准测试?

谢谢!

compression hadoop mapreduce

4
推荐指数
1
解决办法
2988
查看次数

Java哈希值:如何使它们有效可比?

我有一对哈希值,如

  1. 128ecf542a35ac5270a87dc740918404; d603ac0c04b9d08974482ae7fd4cf55
  2. a1288b1c7e2257a90bad9bdfb7690fbb; f23828e312d90cb7fdadd6479236119c
  3. ................................; ................. ...............

我想让每一对与其他对比,意思是:

128ecf542a35ac5270a87dc740918404; d603ac0c04b9d08974482ae7fd4cf55d

保持原样;

如果是

d603ac0c04b9d08974482ae7fd4cf55d; 128ecf542a35ac5270a87dc74091840

4,它应该成为

128ecf542a35ac5270a87dc740918404; d603ac0c04b9d08974482ae7fd4cf55d

我的主要目标是有一个特定的函数,它比较一对的两个哈希值,并根据一些规则返回一个具有在其中排序的值的对.规则本身并不重要,唯一的要求是,它应该非常快,并且应该总是给出相同的结果,因为输入是(unique1,unique2)或(unique2,unique1)

谢谢!

一种显而易见但效率低下的方法是仅将每个散列值中包含的数字相加并比较它们,并将散列值与较小的和作为对中的第一个元素,将较大的和作为第二个位置.

java hash comparison comparable

3
推荐指数
1
解决办法
232
查看次数

JAVA:IO例外:原因流关闭

为什么我会收到以下异常?我正在做的是将一个巨大的ArrayList逐行写入磁盘上的文件.生成的文件大约> 700MB.在逐行编写时似乎有些问题.文件的大小可能是一个原因吗?为什么流关闭了?顺便说一下,我正在开发Windows操作系统.

FileWriter evaluated_result = 
    new FileWriter(path_output+this.algorithm+"/"+query_type+"/"+"queries.eval");
BufferedWriter out = new BufferedWriter(evaluated_result);
out.write(Myobject);
out.newLine();
evaluated_result.close();
out.close();
Run Code Online (Sandbox Code Playgroud)

例外情况如下:

java.io.IOException: Stream closed
    at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
    at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
    at java.io.OutputStreamWriter.write(OutputStreamWriter.java:207)
    at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:129)
    at java.io.BufferedWriter.close(BufferedWriter.java:264)
    at Assignment_1.Query_Evaluator.write100BestDocumentsEvalFormat(Query_Evaluator.java:85)
    at Assignment_1.Experiment.ConductExperiment(Experiment.java:54)
    at Assignment_1.Main.main(Main.java:78)
Run Code Online (Sandbox Code Playgroud)

java io file filewriter bufferedwriter

2
推荐指数
1
解决办法
1万
查看次数

Java中的迭代器行为

我对Java中的迭代器行为有疑问.

我有一个这样的电话:

myIterable.iterator().hasNext()

如果此调用返回true,我可以确定该集合至少有两个元素吗?从Java API规范中,我只能发现真正意味着还有一个元素可以通过它来实现next().但是如果指针位于最开始会发生什么(意味着是否hasNext()可以单独识别第一个元素)

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html

如果迭代有更多元素,则表示为true.但更多元素也可能意味着第一个?

[编辑]

我怎么知道迭代器是否有两个要迭代的元素?当然,我可以迭代和计数,但我无法返回或迭代两次或在我的情况下克隆迭代器,这是一个Hadoop迭代器.

java iterator iterable

1
推荐指数
1
解决办法
6179
查看次数

Oracle 格式浮点数 11g

我要格式化

if integer, then integer.00

if float, then float.xx (2 digits of precision)
Run Code Online (Sandbox Code Playgroud)

我有一个除法运算,其值可能会产生整数或浮点数。我想以 2 位精度存储结果。我怎样才能实现这个目标?

oracle floating-point casting type-conversion

1
推荐指数
1
解决办法
1万
查看次数

vim:如何将“empty_space\n”替换为“\n”

我有一个以“empty_space\n”结尾的文本文件

...{empty_space}
...{empty_space}
Run Code Online (Sandbox Code Playgroud)

我想删除最后的空白。

...
...
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

vim newline

-2
推荐指数
1
解决办法
617
查看次数