홈>
기존 RDD에서 일부 데이터 (모두가 아님)를 캡처 한 다음 실제 작업을 위해 다른 스칼라 클래스로 전달하는 시나리오가 있습니다. 텍스트 파일에서 data (empnum, empname, emplocation, empsal)를 예제로 볼 수 있습니다.
11,John,Paris,1000
12,Daniel,UK,3000
첫 번째 단계에서는 아래 코드를 사용하여 RDD [String]을 사용하여 RDD를 만듭니다.
val empRDD = spark
.sparkContext
.textFile("empInfo.txt")
그래서 내 요구 사항은 empnum, empname, emplocation (RDD [String]과 함께)으로 다른 RDD를 작성하는 것입니다. 이를 위해 아래 코드를 시도 했으므로 RDD [String, String, String]가 표시됩니다.
val empReqRDD = empRDD
.map(a=> a.split(","))
.map(x=> (x(0), x(1), x(2)))
슬라이스로 시도했지만 RDD [Array (String)]를 제공합니다. 필요한 RDD는 RDD [String]이어야하며 일부 작업을 수행하려면 필수 Scala 클래스에 전달해야합니다.
예상되는 출력은
11,John,Paris
12,Daniel,UK
누구든지 달성하는 방법을 도와 줄 수 있습니까?
-
답변 # 1
-
답변 # 2
함께 시도
flatMap
변환.empRDD.map(a => a.split(",")).flatMap(x => x).collect() // Array[String] = Array(11, John, Paris, 1000, 12, Daniel, UK, 3000) empRDD.map(a => a.split(",")).flatMap(x => x) // org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[31] at flatMap at <console>:26
관련 자료
- javascript - Discord 봇이 특정 VC에 가입 할 때 새 VC를 생성하도록하는 방법
- awk - Linux의 여러 폴더에있는 파일에서 특정 열로 새 파일을 만드는 방법은 무엇입니까?
- python - 배열의 길이가 다른 사전에서 데이터 프레임 생성
- excel - 대상 범위가 고정 된 위치에 있지 않은 경우 배열 수식을 만들어야합니다
- android - 내부에 특정 콘텐츠가있는 ADB를 통해 * txt 파일 생성
- 엑셀 수식> 다음 달 특정 날짜 선택
- 기존 변수를 기반으로 R에서 새 변수 만들기
- python - Pytorch에서 다른 텐서에 0이 아닌 요소가있는 텐서를 사용하여 텐서를 만듭니다
- 하나는 열 인덱스이고 다른 하나는 R의 값인 두 열에서 행렬 만들기
- virtualization - Cloud-init를 사용하여 특정 디스크 크기로 Ubuntu 20 서버를 만드는 방법은 무엇입니까?
- python - 데이터가 공백으로 구분되는 하나의 열 csv 파일에서 데이터 세트 생성
- windows - 기존 하위 폴더와 동일한 이름으로 파일을 만드시겠습니까?
- python - if else 문을 기반으로 최대 열을 선택하는 새 df 열 만들기
- sapb1 - SQL 날짜가 정의 된 날짜 범위 사이에있는 항목 선택
- python - 길이가 다른 다른 데이터 프레임의 값을 기반으로 기존 데이터 프레임에 새 열을 만드는 방법
- 특정 행과 열이있는 html 테이블을 만드는 방법
- kubernetes - 각각 자체 컨테이너가있는 두 개의 기존 Yaml에서 POD를 만들 수 있습니까?
- r - 모든 행에 특정 문자열이있는 새 열 만들기
- xslt - XPATH를 사용하여 특정 횟수만큼 고정 된 값을 포함하는 시퀀스를 만드는 방법은 무엇입니까?
- c# - 기존 데이터베이스 및 sql 파일에서 컨텍스트 이니셜 라이저 만들기
나는 이것을 시도 할 것이다