복붙노트

[HADOOP] Apache Spark에서 여러 열을 추가하는 방법

HADOOP

Apache 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. ==============================

    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)
    
  2. from https://stackoverflow.com/questions/39392237/how-to-add-multiple-columns-in-apache-spark by cc-by-sa and MIT license