[HADOOP] 'hadoop fs -head'쉘 명령이없는 이유는 무엇입니까?
HADOOP'hadoop fs -head'쉘 명령이없는 이유는 무엇입니까?
HDFS에서 파일을 검사하는 빠른 방법은 tail을 사용하는 것입니다.
~$ hadoop fs -tail /path/to/file
그러면 파일의 마지막 킬로바이트가 표시되므로 매우 유용합니다. 그러나 반대 명령 머리글은 셸 명령 모음의 일부로 보이지 않습니다. 나는이 사실이 매우 놀랍다 고 생각한다.
HDFS는 대용량 파일에서 매우 빠른 스트리밍 읽기를 위해 제작 되었기 때문에 머리에 영향을주는 액세스 지향적 인 문제가 있습니다. 이것은 내가 머리에 접근하기위한 일을하는 것을 주저하게 만든다. 아무도 대답이 없습니까?
해결법
-
==============================
1.나는 효율성과 더 관련이 있다고 말할 수 있습니다. 머리는 linux head 명령을 통해 hadoop fs -cat의 출력을 파이프하여 쉽게 복제 할 수 있습니다.
나는 효율성과 더 관련이 있다고 말할 수 있습니다. 머리는 linux head 명령을 통해 hadoop fs -cat의 출력을 파이프하여 쉽게 복제 할 수 있습니다.
hadoop fs -cat /path/to/file | head
이것은 원하는 수의 라인이 출력 된 후에 헤드가 기본 스트림을 닫을 때 효율적입니다.
이 방식으로 꼬리를 사용하면 상당히 효율적이지 않습니다. 마지막 x 행을 찾으려면 전체 파일 (모든 HDFS 블록)을 스트리밍해야합니다.
hadoop fs -cat /path/to/file | tail
마지막 kilobyte-hadoop에서 작업 한 noteoop fs -tail 명령은 마지막 블록을 효율적으로 찾고 최종 킬로 바이트의 위치로 건너 뛴 다음 출력을 스트리밍 할 수 있습니다. 꼬리를 통한 배관은 쉽게이 작업을 수행 할 수 없습니다.
-
==============================
2.
hdfs -dfs /path | head
문제를 해결하는 좋은 방법입니다.
-
==============================
3.당신은 다음 명령을 시도 할 수있다.
당신은 다음 명령을 시도 할 수있다.
hadoop fs -cat /path | head -n
여기서 -n은 볼 레코드 수로 바꿀 수 있습니다.
-
==============================
4.Hadoop v2 :
Hadoop v2 :
hdfs dfs -cat /file/path|head
Hadoop v1 및 v3 :
hadoop fs -cat /file/path|head
-
==============================
5.버전 3.1.0부터는 다음과 같은 기능을 제공합니다.
버전 3.1.0부터는 다음과 같은 기능을 제공합니다.
여길 봐.
from https://stackoverflow.com/questions/19778137/why-is-there-no-hadoop-fs-head-shell-command by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 사용 : localhost : 오류 : JAVA_HOME이 설정되지 않았습니다. (0) | 2019.06.06 |
---|---|
[HADOOP] MapReduce / Hadoop을 사용하여 큰 데이터 정렬하기 (0) | 2019.06.06 |
[HADOOP] 스파크에서 RDD 란 무엇입니까? (0) | 2019.06.06 |
[HADOOP] Spark SQL에서 CSV로 데이터를 내보내는 방법 (0) | 2019.06.06 |
[HADOOP] Hadoop에서 노드를 올바르게 제거하려면 어떻게해야합니까? (0) | 2019.06.05 |