[HADOOP] 큰 csv 파일을 처리하기 위해 Python에서 Hadoop 사용하기
HADOOP큰 csv 파일을 처리하기 위해 Python에서 Hadoop 사용하기
Amazon EMR (python)에서 Hadoop MapReduce를 사용하여 처리하고자하는 거대한 CSV 파일이 있습니다.
파일에는 7 개의 필드가 있지만 날짜 및 수량 필드 만보고 있습니다.
"date" "receiptId" "productId" "quantity" "price" "posId" "cashierId"
첫째, 내 mapper.py
import sys
def main(argv):
line = sys.stdin.readline()
try:
while line:
list = line.split('\t')
#If date meets criteria, add quantity to express key
if int(list[0][11:13])>=17 and int(list[0][11:13])<=19:
print '%s\t%s' % ("Express", int(list[3]))
#Else, add quantity to non-express key
else:
print '%s\t%s' % ("Non-express", int(list[3]))
line = sys.stdin.readline()
except "end of file":
return None
if __name__ == "__main__":
main(sys.argv)
감속기의 경우 스트리밍 명령 인 집계를 사용합니다.
의문:
해결법
-
==============================
1.내 자신의 질문에 대답!
내 자신의 질문에 대답!
from https://stackoverflow.com/questions/9255973/using-hadoop-in-python-to-process-a-large-csv-file by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 다중 출력 경로 (Java - Hadoop - MapReduce) (0) | 2019.07.24 |
---|---|
[HADOOP] Elastic MapReduce HDFS에서 데이터 가져 오기 및 나가기 (0) | 2019.07.24 |
[HADOOP] Hadoop mapReduce에서 위임 토큰 대신 Kerberos를 얻는 방법? (0) | 2019.07.24 |
[HADOOP] 자바 API를 사용하여 jdbc와 같은 hbase 쉘 명령을 직접 보내려면 어떻게해야합니까? (0) | 2019.07.24 |
[HADOOP] spark java api에서 재귀 적으로 HDFS에서 모든 파일 읽기 (0) | 2019.07.24 |