내가 항상 RDD는 튜플 포함 심지어 빈 파일을 가져 기능 saveAsTextFile()
를 사용하려고하면 :아파치 스파크 : saveAsTextFile()와 필터 문제()
myRDD.saveAsTextFile("C:/Users/pc/Desktop/chna.txt");
어떤 이유가있을 수 있습니까?
데이터 파일이 텍스트 파일에 등록되어 있다고 가정 해 봅시다. 어떻게 쉘 또는 코드를 통해 검색 할 수 있습니까? (참고 : Java를 사용하고 있습니까?)
내 코드 (자바를 항상 사용)를 통해 텍스트 파일을 수정하는 솔루션이 있습니까? 다음 코드를 시도했지만 java.io.NotSerializableException
이 있습니까? 다른 가능한 해결책이 있습니까? 나는이 코드 줄을 사용하면
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("C:/Users/pc/Desktop/chn.txt", true));
pairsRDD.foreach(x -> bufferedWriter.write(x._1+" "+x._2));
bufferedWriter.newLine(); // ...
bufferedWriter.close();
는 :
JavaPairRDD<Integer, String> filterRDD = pairsRDD.filter((x,y) -> (x._1.equals(y._1))&&(x._2.equals(y._2)))));
내가 IOException
얻었다을 RDD가 비어 있기 때문에 발생합니다? 또는 필터에 사용 된 조건이 잘못 되었습니까?
이 문제를 어떻게 해결할 수 있습니까? 그 이유는 무엇입니까?
때 java.io.IOException : 하둡의 바이너리 실행 널 \ 빈 \의 winutils.exe 를 찾을 수 없습니다.
RDD를 만들 때 첫 번째 줄 (필드 이름)도 필요합니다. 어떻게 피할 수 있습니까? 왜냐하면 나는 값들을 포함하는 선들 만 가지고 가기를 원하기 때문입니다.
고맙습니다. 다른 질문은 어떻습니까? – hammadspark
고맙습니다. 다른 질문은 어떻습니까? 1. 어떻게 필드의 이름 (id name job sex ....)을 포함하는 파일의 첫 번째 줄을 제거 할 수 있습니까? bcz 값 2를 포함하는 줄만 원합니다.이 코드 줄에서 IOException을 얻습니다. \t \t JavaSparkContext sc = 새 JavaSparkContext (conf); 이 예외의 세부 사항은 다음과 같습니다. Hadoop 바이너리에서 실행 파일 null \ bin \ winutils.exe를 찾을 수 없습니다. 그리고 winutils.exe를 다운로드하려고 할 때이 메시지가 나타 났을 때 : 프로그램을 시작할 수 없습니다. bcz MSVCR100.dll이 잘못되어 있습니다. 어떻게 해결할 수 있습니까? – hammadspark
1. RDD에 .filter()를 사용하여 라인 만 유지하십시오. 너는 을 원한다. 2. 나는 모르지만, 나는 창문에 불꽃을 사용하려하지 않았다. 솔직히 오히려 우분투 VM을 설치하는 것보다 이것을 수정^^ – C4stor