在Hadoop中,hdfs dfs -text
和hdfs dfs -getmerge
命令允许从命令行轻松读取HDFS中的压缩文件内容,包括管道到其他处理命令(例如wc -l <(hdfs dfs -getmerge /whatever 2>/dev/null)
)。Hadoop:hdfs dfs -text
这些命令是否有倒数,允许从命令行将内容推送到HDFS,同时支持与上述命令相同的压缩和格式功能? hdfs dfs -put
似乎只是将本地文件的原始副本转换为HDFS,而不进行压缩或更改容器格式。
建议用于处理这种格式和压缩算法的命令行工具的答案也受到欢迎。我通常会在CompressedStream中看到Snappy压缩的数据,但无法知道如何从命令行将简单的旧文本文件(每行一个数据)转换为这样的文件。我尝试了snzip(如this askubuntu question中建议的)以及this snappy command-line tool,但无法使用它们中的任何一个来生成适用于Hadoop的Snappy文件(或者使用Apache Flume读取在HDFS中摄入的Snappy文件的内容)。
这将如何帮助完全与文件格式和压缩模式?我只能像访问'hdfs dfs -put'和'hdfs dfs -get'一样访问原始文件,对吧? – Shadocko
你的意思是你想读取原始文件? – vgunnu
nope,我在Unix世界(或程序输出)中有一个普通的旧文本文件,并希望将其作为Snappy文件存储在HDFS中。 'hdfs dfs -text/path/in/hdfs'使得从HDFS读取Snappy文件成为命令行中普通的旧文本成为可能,并且我正在做相反的操作。 – Shadocko