标签: hdfs

Spark Standalone Mode:如何压缩写入HDFS的spark输出

与我的其他问题有关,但有所不同:

someMap.saveAsTextFile("hdfs://HOST:PORT/out")
Run Code Online (Sandbox Code Playgroud)

如果我将RDD保存到HDFS,如何通过gzip告诉spark压缩输出?在Hadoop中,可以设置

mapred.output.compress = true
Run Code Online (Sandbox Code Playgroud)

并选择压缩算法

mapred.output.compression.codec = <<classname of compression codec>>
Run Code Online (Sandbox Code Playgroud)

我如何在火花中做到这一点?这会有效吗?

编辑:使用spark-0.7.2

compression scala hdfs apache-spark

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

非DFS使用的含义是什么?

这是我最近在Web UI上看到的

 Configured Capacity     :   232.5 GB
 DFS Used    :   112.44 GB
 Non DFS Used    :   119.46 GB
 DFS Remaining   :   613.88 MB
 DFS Used%   :   48.36 %
 DFS Remaining%  :   0.26 %
Run Code Online (Sandbox Code Playgroud)

而且我很困惑,非dfs Used占用了一半以上的容量,

我认为这意味着hadoop存储的一半被浪费了

在花费无意义的时间搜索之后,我只是格式化了namenode,并从头开始.

然后我从本地复制了一个巨大的文本文件(大约19千兆字节)到HDFS(成功).

现在用户界面说

Configured Capacity  :   232.5 GB
DFS Used     :   38.52 GB
Non DFS Used     :   45.35 GB
DFS Remaining    :   148.62 GB
DFS Used%    :   16.57 %
DFS Remaining%   :   63.92 %
Run Code Online (Sandbox Code Playgroud)

在复制之前,DFS Used和Non DFS Used都是0.

因为DFS Used大约是原始文本文件大小的两倍,我配置了2个副本,

我猜DFS Used由2份原始和元组成.

但是我仍然不知道非DFS使用的来源是什么,为什么这比DFS使用的占用了更多的容量.

发生了什么事?我弄错了吗?

hadoop hdfs

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

如果不存在,如何让hadoop创建目录

我一直在使用Cloudera的hadoop(0.20.2).使用此版本,如果我将文件放入文件系统,但目录结构不存在,则会自动创建父目录:

例如,如果我在hdfs和typed中没有目录:

hadoop fs -put myfile.txt /some/non/existing/path/myfile.txt

它将创建所有目录:some,non,existingpath并将文件放在那里.

现在,随着更新的hadoop(2.2.0)产品的出现,这种自动创建的目录不会发生.上面的相同命令产生:

put:`/ some/non/existing/path /':没有这样的文件或目录

我有一个解决方法,首先只做hadoop fs -mkdir,每次放置,但这不会很好.

这是可配置的吗?有什么建议?

hadoop put hdfs cloudera biginsights

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

如何在Linux的hdfs超级组中添加用户?

我正在研究hdfs,然后我发现了一些不为超级用户执行权限检查的东西.如果我的linux用户是沙地,我想要向超级用户群添加沙地.因此,不会发生权限被拒绝,在hdfs配置中这样做是否可行.如果将用户分配给超级组没有问题,那么该怎么做呢?

linux hadoop hdfs

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

hadoop fs -ls导致"没有这样的文件或目录"

我已经为10节点集群安装并配置了Hadoop 2.5.2.1充当masternode,其他节点充当slavenode.

我在执行hadoop fs命令时遇到问题.hadoop fs -ls命令可以正常使用HDFS URI.它在没有HDFS URI的情况下使用时给出消息"ls:`.':没有这样的文件或目录"

ubuntu@101-master:~$ hadoop fs -ls
15/01/30 17:03:49 WARN util.NativeCodeLoader: Unable to load native-hadoop 
ibrary for your platform... using builtin-java classes where applicable
ls: `.': No such file or directory
ubuntu@101-master:~$ 
Run Code Online (Sandbox Code Playgroud)

然而,使用HDFS URI执行相同的命令

ubuntu@101-master:~$ hadoop fs -ls hdfs://101-master:50000/
15/01/30 17:14:31 WARN util.NativeCodeLoader: Unable to load native-hadoop      
library for your platform... using builtin-java classes where applicable
Found 3 items
drwxr-xr-x   - ubuntu supergroup          0 2015-01-28 12:07 hdfs://101-master:50000/hvision-data
-rw-r--r--   2 ubuntu supergroup   15512587 2015-01-28 11:50 hdfs://101-master:50000/testimage.seq …
Run Code Online (Sandbox Code Playgroud)

hadoop uri hdfs

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

是否有hdfs命令按时间戳列出HDFS目录中的文件

是否有hdfs命令按时间戳,升序或降序列出HDFS目录中的文件?默认情况下,hdfs dfs -lscommand提供未排序的文件列表.

当我搜索答案时,我得到的是一种解决方法,即hdfs dfs -ls /tmp | sort -k6,7.但有没有更好的方法,内置hdfs dfs命令行?

hadoop hdfs

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

是否可以并行追加多个客户端的HDFS文件?

基本上整个问题都在标题中.我想知道是否可以同时从多台计算机上附加到位于HDFS上的文件?类似于存储由多个进程不断产生的事件流的东西.订单并不重要.

我记得听过谷歌技术演示文稿之一,GFS支持这样的追加功能,但尝试使用HDFS进行一些有限的测试(使用常规文件追加()或使用SequenceFile)似乎不起作用.

谢谢,

hadoop gfs hdfs

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

序列文件优于hdfs文本文件的优点

Hadoop序列文件优于HDFS平面文件(文本)的优势是什么?Sequence文件以什么方式有效?

可以将小文件组合并写入序列文件,但也可以对HDFS文本文件执行相同的操作.需要知道这两种方式的区别.我已经谷歌搜索了一段时间,如果我明白这个会有帮助吗?

hadoop hdfs sequencefile

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

在hdfs中有相当于`pwd`的东西吗?

我试图这样做hdfs dfs -pwd,但该命令不存在.所以目前我诉诸干什么hdfs dfs -ls ..其次hdfs dfs -ls ../...

我也查看了命令列表,hdfs dfs但没有看到任何看起来很有希望的东西.

有没有更直接的方法来找到绝对路径?

hadoop hdfs

21
推荐指数
5
解决办法
3万
查看次数

`yarn.scheduler.maximum-allocation-mb`和`yarn.nodemanager.resource.memory-mb`之间的区别?

yarn.scheduler.maximum-allocation-mb和之间有什么区别yarn.nodemanager.resource.memory-mb

我看到了这两个,yarn-site.xml我在这里看到了解释.

yarn.scheduler.maximum-allocation-mb给出以下定义:RM中每个容器请求的最大分配,以MB为单位.高于此值的内存请求将抛出InvalidResourceRequestException. 这是否意味着仅在资源管理器上的内存请求受此值的限制?

并且yarn.nodemanager.resource.memory-mb给出了可以为容器分配的物理内存量(MB)的定义. 这是否意味着整个集群中所有容器的总量总和在一起?

我还是无法辨别这些.这些解释让我觉得它们是一样的.

更令人困惑的是,它们的默认值完全相同:8192 mb.我如何区分这些?谢谢.

hadoop memory-management hdfs hadoop-yarn

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