0
나는 pyspark에 새로운 브랜드이지만, 매우 빠르게 digg 할 필요가있다. 나는 두 개의 (거대한) CSV 파일을 pyspark에서 비교하고 지금까지 꽤 괜찮아 보였다. (내 코드는 멋지지 않다.) 결국 일치하는 레코드를 세고 싶다. 일치하지 않는csv 파일과 pySpark를 비교하기
내가 할 수 있었던 것은 :
1. RDD에 csv를로드 중입니다.act="actual.csv"
exp="expected.csv"
raw_exp = sc.textFile(exp)
raw_act = sc.textFile(act)
내가 경기를 해달라고 기록 얻을 내가 빼기를 사용하여 rdds을 비교하고 수집 할 수 있습니다
print "Expected: ", raw_exp.count()
print "Actual:", raw_act.count()
3. .count()를 사용하여 기록의 양을 셀 수 :
notCompRecords = raw_exp.subtract(raw_act).collect()
을
이제는 일치하지 않는 레코드를 계산하고 싶습니다. 나는 내가 사용하는 것이라고 생각 :
notCompRecords.count()
하지만 난 인수가 누락되는 오류가 발생했습니다 :
나는 또한 내가 obvously 문자열로에있다 notComRecords 목록을 작성 변환 할 필요가 있음을 알게TypeError: count() takes at least 1 argument (0 given)
:
notCompString = ''.join(notCompRecords)
그러나 이것도 작동하지 않습니다.
개체/변수/rdd notCompRecords의 행을 어떻게 계산합니까?
감사합니다. 힌트 또는 힌트를 부탁드립니다. 감사합니다.
'notCompRecords = raw_exp.subtract (raw_act) .collect()'에서'.collect()'를 제거하십시오. 그 후'notCompRecords.count()'를 사용할 수 있습니다. – jho
와우! 그 일은 매우 빠르게 진행되었습니다. 고마워요! –
신속한 보증을 해 주셔서 감사합니다. 때때로 문제가 해결 될 때 사람들이 돌아 오지 않습니다. 이제 우리는 ** jho의 코멘트를 upvote 할 수도 있습니다 ** ** 질문에 ** ** 실제로 추가되었습니다 .- 대답 ;-) – Dilettant