小编mar*_*ark的帖子

如何用hadoop打印文件树?

我是HDFS和*nix中的新鸟,我只是好奇,如何在hadoop中打印文件树?

例如,我们可以在任何*nix系统中键入"tree",并给我们一个这样的结果:

[admin~]$tree
.
??? backup_snapshot.sh
??? project
?   ??? doc
?   ?   ??? README
?   ??? src
....
Run Code Online (Sandbox Code Playgroud)

这是非常清楚的输出,但由于HDFS不完全符合POSIX,所以我不知道如何在hadoop中打印它.

linux shell command hadoop

7
推荐指数
2
解决办法
5789
查看次数

如何处理猪的溢油记忆

我的代码是这样的:

pymt = LOAD 'pymt' USING PigStorage('|') AS ($pymt_schema);

pymt_grp = GROUP pymt BY key

results = FOREACH pymt_grp {

      /*
       *   some kind of logic, filter, count, distinct, sum, etc.
       */
}
Run Code Online (Sandbox Code Playgroud)

但现在我发现很多这样的日志:

org.apache.pig.impl.util.SpillableMemoryManager: Spilled an estimate of 207012796 bytes from 1 objects. init = 5439488(5312K) used = 424200488(414258K) committed = 559284224(546176K) max = 559284224(546176K)
Run Code Online (Sandbox Code Playgroud)

其实我找到了原因,大多数原因是有一个"热"键,有些东西比如key = 0作为ip地址,但我不想过滤这个键.有什么办法吗?我在UDF中实现了代数和累加器接口.

hadoop apache-pig

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

如何用猪输入多参数

我有3个表到批量输入,如何在猪中指定参数?

例如,tmp/001.csv,tmp/002.csv,tmp/003.csv,在pig脚本中,如何编写-param和LOAD语句一次输入这些表?

有人给我举个例子

pig -param nums="'001','002','003'" test.pig
Run Code Online (Sandbox Code Playgroud)

在猪脚本中,

LOAD 'tmp/{nums}.csv' AS ...
Run Code Online (Sandbox Code Playgroud)

但看起来只有001.csv被猪读取.

hadoop apache-pig

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

标签 统计

hadoop ×3

apache-pig ×2

command ×1

linux ×1

shell ×1