首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取几行HDFS数据

获取几行HDFS数据
EN

Stack Overflow用户
提问于 2014-02-28 17:15:52
回答 8查看 59.2K关注 0票数 22

我的HDFS中有一个2 GB数据。

有没有可能随机获取这些数据。就像我们在Unix命令行中所做的那样

cat iris2.csv |head -n 50
EN

回答 8

Stack Overflow用户

发布于 2018-07-03 11:54:27

你也可以在Hadoop中使用head命令!语法为

hdfs dfs -cat <hdfs_filename> | head -n 3

这将仅打印文件中的三行。

票数 10
EN

Stack Overflow用户

发布于 2017-02-27 17:24:09

Linux上的headtail命令分别显示前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命令更快,而且随机采样数据更好。

票数 5
EN

Stack Overflow用户

发布于 2017-07-29 16:05:04

hdfs dfs -cat yourFile | shuf -n <number_of_line>

将在you.Though上实现,但它在mac上不可用。您可以安装GNU coreutils。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22090833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档