[HADOOP] EMR에 S3 폴더 나열
HADOOPEMR에 S3 폴더 나열
스파크 작업 중에 EMR에 S3 버킷의 내용을 간단히 나열하는 방법을 이해하지 못했습니다. 나는 다음을하고 싶었다.
Configuration conf = spark.sparkContext().hadoopConfiguration();
FileSystem s3 = S3FileSystem.get(conf);
List<LocatedFileStatus> list = toList(s3.listFiles(new Path("s3://mybucket"), false))
이것은 항상 다음 오류로 실패합니다
java.lang.IllegalArgumentException: Wrong FS: s3://*********/, expected: hdfs://**********.eu-central-1.compute.internal:8020
hadoopConfiguration에서 fs.defaultFS-> hdfs : //**********.eu-central-1.compute.internal : 8020
hdfs : // myfolder / myfile 대신 / myfolder / myfile 프로토콜을 사용하지 않으면 기본적으로 df.defaultFS가됩니다. 그러나 s3 : // mybucket /을 지정하면 fs.defaultFS가 중요하지 않아야합니다.
디렉토리 정보에 어떻게 액세스합니까? spark.read.parquet ( "s3 : //mybucket/*.parquet")는 잘 작동하지만이 작업을 위해 일부 파일의 존재를 확인하고 일부 파일을 삭제하고 싶습니다. org.apache.hadoop.fs.FileSystem이 올바른 도구라고 가정했습니다.
추신 : 나는 또한 로깅이 어떻게 작동하는지 이해하지 못합니다. 배포 모드 클러스터를 사용하는 경우 (클라이언트 모드에서 작동하지 않는 s3에서 jar를 배포하려는 경우) s3 : // logbucket / j -... / containers / application ...에서만 로그를 찾을 수 있습니다. /conatiner...0001. S3에서 보여지기까지는 오랜 시간이 걸린다. 마스터에서 ssh를 통해 어떻게 찾을 수 있습니까? 또는 스파크 응용 프로그램 로그를 확인하는 더 빠르고 더 나은 방법이 있습니까? 업데이트 : 방금 / mnt / var / log / hadoop-yarn / containers에서 찾았지만 yarn : yarn이 소유하고 있으며 hadoop 사용자는 읽을 수 없습니다. :( 아이디어?
해결법
-
==============================
1.나는 당신이 FS 권리를 선택하고 있다고 생각하지 않습니다. 정적 FileSystem.get () 메소드 또는 Path.get ()을 사용하십시오.
나는 당신이 FS 권리를 선택하고 있다고 생각하지 않습니다. 정적 FileSystem.get () 메소드 또는 Path.get ()을 사용하십시오.
다음과 같은 것을 시도하십시오 : 경로 p = 새로운 경로 ( "s3 : // bucket / subdir"); FileSystem fs = p.get (conf); FileStatus [] status = fs.listStatus (p);
로그와 관련하여 YARN UI는 노드 관리자를 통해 로그를 표시해야합니다.
from https://stackoverflow.com/questions/43980302/list-s3-folder-on-emr by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] MapReduce에서 globStatus를 사용하여 입력 파일 필터링 (0) | 2019.08.11 |
---|---|
[HADOOP] Hadoop Pig를 사용하여 여러 줄의 각 레코드가있는 텍스트 파일에서 데이터를로드합니까? (0) | 2019.08.11 |
[HADOOP] mapreduce의 감속기 출력에서 r-00000 확장을 제거하는 방법 (0) | 2019.08.11 |
[HADOOP] HBase : 원자 적 '체크 행이 존재하지 않고 작성'조작 (0) | 2019.08.11 |
[HADOOP] Hadoop 1.0.4에서 매퍼 / 리듀서를 연결하는 방법은 무엇입니까? (0) | 2019.08.11 |