我的HDFS
中有一个2 GB
数据。
有没有可能随机获取这些数据。就像我们在Unix命令行中所做的那样
cat iris2.csv |head -n 50
发布于 2018-07-03 11:54:27
你也可以在Hadoop中使用head命令!语法为
hdfs dfs -cat <hdfs_filename> | head -n 3
这将仅打印文件中的三行。
发布于 2017-02-27 17:24:09
Linux上的head
和tail
命令分别显示前10行和后10行。但是,这两个命令的输出不是随机采样的,它们的顺序与文件本身的顺序相同。
Linux shuffle - Hadoop命令可以帮助我们生成输入行的随机排列&将其与shuf
命令结合使用会很有帮助,如下所示:
$ hadoop fs -cat <file_path_on_hdfs> | shuf -n <N>
因此,在这种情况下,如果iris2.csv
是HDFS上的一个文件,并且您希望从数据集中随机采样50行:
$ hadoop fs -cat /file_path_on_hdfs/iris2.csv | shuf -n 50
注意:也可以使用Linux sort
命令,但shuf
命令更快,而且随机采样数据更好。
发布于 2017-07-29 16:05:04
hdfs dfs -cat yourFile | shuf -n <number_of_line>
将在you.Though上实现,但它在mac上不可用。您可以安装GNU coreutils。
https://stackoverflow.com/questions/22090833
复制相似问题