[HADOOP] Apache Spark에서 여러 열을 추가하는 방법
HADOOPApache Spark에서 여러 열을 추가하는 방법
다음은 공백으로 구분 기호로 4 개의 열이있는 입력 데이터입니다. 두 번째와 세 번째 열을 추가하고 결과를 인쇄하고 싶습니다
sachin 200 10 2
sachin 900 20 2
sachin 500 30 3
Raju 400 40 4
Mike 100 50 5
Raju 50 60 6
내 코드는 중간에 있습니다
from pyspark import SparkContext
sc = SparkContext()
def getLineInfo(lines):
spLine = lines.split(' ')
name = str(spLine[0])
cash = int(spLine[1])
cash2 = int(spLine[2])
cash3 = int(spLine[3])
return (name,cash,cash2)
myFile = sc.textFile("D:\PYSK\cash.txt")
rdd = myFile.map(getLineInfo)
print rdd.collect()
여기에서 나는 결과를 얻었다.
[('sachin', 200, 10), ('sachin', 900, 20), ('sachin', 500, 30), ('Raju', 400, 40
), ('Mike', 100, 50), ('Raju', 50, 60)]
이제 필요한 최종 결과는 다음과 같습니다. 두 번째 및 세 번째 열을 추가하고 나머지 필드를 표시하십시오.
sachin 210 2
sachin 920 2
sachin 530 3
Raju 440 4
Mike 150 5
Raju 110 6
해결법
-
==============================
1.이것을 사용하십시오 :
이것을 사용하십시오 :
def getLineInfo(lines): spLine = lines.split(' ') name = str(spLine[0]) cash = int(spLine[1]) cash2 = int(spLine[2]) cash3 = int(spLine[3]) return (name, cash + cash2, cash3)
from https://stackoverflow.com/questions/39392237/how-to-add-multiple-columns-in-apache-spark by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop WordCount 예제 문제, 성능 조정이 필요합니까? (0) | 2019.09.08 |
---|---|
[HADOOP] 임팔라 : 오류 : AnalysisException : 파티션 사양이 없습니다. (0) | 2019.09.08 |
[HADOOP] hdfs에서 mysql로 sqoop 내보내기에 실패했습니다. 문자를 이스케이프 처리하는 데 도움이 필요합니다 (0) | 2019.09.08 |
[HADOOP] 여러 파일을로드 할 때 PySpark 작업이 실패하고 파일이 누락되었습니다 [중복] (0) | 2019.09.08 |
[HADOOP] Spark가있는 proto2를 실행할 수 없습니다 (0) | 2019.09.08 |