4
A
回答
15
本地頭
hadoop fs -cat /your/file | head
在這裏效率很高,因爲貓會盡快關閉流頭將完成閱讀所有行。
爲了得到尾存在Hadoop的一個特殊有效的命令:
hadoop fs -tail /your/file
不幸的是它返回的數據,而不是一個給定的行數的最後一個千字節。
0
我的建議是要加載數據到蜂巢表,那麼你可以做這樣的事情:
SELECT column1, column2 FROM (
SELECT iris2.column1, iris2.column2, rand() AS r
FROM iris2
ORDER BY r
) t
LIMIT 50;
編輯: 這是簡單的版本該查詢:
SELECT iris2.column1, iris2.column2
FROM iris2
ORDER BY rand()
LIMIT 50;
0
寫入該命令
sudo -u hdfs hdfs dfs -cat "path of csv file" |head -n 50
50是行數
4
的head
和Linux上tail
命令顯示所述第一10和最後10(這可以通過基於所述要求用戶定製)線。但是,這兩個命令的輸出不是隨機採樣的,它們的順序與文件本身的順序相同。
Linux的洗牌 - shuf
命令可以幫助我們產生的輸入線&隨機置換與Hadoop的結合使用這個命令將是有益的,就像這樣:
$ 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
命令更快,並且可以更好地隨機抽樣數據。
+1
這是正確的答案,因爲沒有其他答案談論洗牌。 –
0
hdfs dfs -cat yourFile | shuf -n <number_of_line>
會爲你做伎倆。雖然它不適用於mac os。你可以安裝GNU coreutils。
相關問題
- 1. 獲取數據進出Elastic MapReduce HDFS
- 2. 如何從HDFS獲取數據?蜂巢?
- 3. 使用Sparkstreaming從HDFS獲取數據
- 4. 如何從hdfs獲取特定數據?
- 5. spark中的數據並行:從hdfs讀取avro數據
- 6. 獲取數據集中幾列不爲NULL的行數?
- 7. 獲取前幾個月的數據
- 8. 從Hive中的HDFS提取數據後獲取Null?
- 9. 顯示從水晶報告上的幾行獲取的數據
- 10. SQL查詢在幾分鐘和幾天之間獲取數據
- 11. 從集羣上的HDFS讀取數據
- 12. Hadoop如何獲取未存儲在HDFS上的輸入數據?
- 13. 從REST API獲取數據並將其存儲在HDFS/HBase中
- 14. contentType獲取從HDFS接收的數據前綴sink
- 15. 數據來源HDFS
- 16. HDFS數據統計
- 17. 從Ingot_JQuery_JqGrid獲取行數據
- 18. 如何只獲取數據數組的幾個索引?
- 19. 配置pentaho的hdfs-vfs來獲取hdfs-site.xml
- 20. 如何根據幾個uniqueidentifiers獲取多行?
- 21. HDFS上非結構化數據行的數據存儲格式
- 22. http在Go中獲取請求(獲取幾行)
- 23. SSRS 2008 - 根據行號獲取數據
- 24. 如何獲取人力車將數據彙總爲幾周而不是幾天
- 25. HDFS複製 - 數據存儲
- 26. Hadoop - HDFS Namenode元數據 - FSImage
- 27. 寫AVRO數據到Hadoop hdfs
- 28. HDFS如何修改數據
- 29. 從hadoop hdfs數據搜索
- 30. HDFS中的示例數據
-n 2不給出隨機數據......它返回前兩行。 – Jasper