"NameError : 전역 이름 'X'이 (가) 파이썬에서 정의되지 않았습니다."를 디버깅하는 방법? 나는 파이썬에서 꽤 새로운 것이다. 파이썬 2.7에서 jupyter_notebook을 사용하여 코드를 실행하고 있습니다. 나는 뒤에 오는 과오를 직면하고있다.제안이 필요합니다.
내 코드 :
logFile = "NASAlog.txt"
def parseLogs():
parsed_logs=(sc
.textFile(logFile)
.map(parseApacheLogLine)
.cache())
access_logs = (parsed_logs
.filter(lambda s: s[1] == 1)
.map(lambda s: s[0])
.cache())
failed_logs = (parsed_logs
.filter(lambda s: s[1] == 0)
.map(lambda s: s[0]))
failed_logs_count = failed_logs.count()
if failed_logs_count > 0:
print 'Number of invalid logline: %d' % failed_logs.count()
for line in failed_logs.take(20):
print 'Invalid logline: %s' % line
print 'Read %d lines, successfully parsed %d lines, failed to parse %d lines' % (parsed_logs.count(), access_logs.count(), failed_logs.count())
return parsed_logs, access_logs, failed_logs
parsed_logs, access_logs, failed_logs = parseLogs()
ERROR
> NameError Traceback (most recent call last)
> <ipython-input-18-b365aa793252> in <module>()
> 24 return parsed_logs, access_logs, failed_logs
> 25
> ---> 26 parsed_logs, access_logs, failed_logs = parseLogs()
>
> <ipython-input-18-b365aa793252> in parseLogs()
> 2
> 3 def parseLogs():
> ----> 4 parsed_logs=(sc
> 5 .textFile(logFile)
> 6 .map(parseApacheLogLine)
>
> NameError: global name 'sc' is not defined
여기서 'sc'변수를 정의합니까? –
"긴급한 제안이 필요합니다"와 같이 어리석게도 광범위한 성명서와 대조적으로 문제의 첫 부분에 실제 문제를 알리는 질문을하십시오. –
BTW : NASA 엔지니어가있는 것이 좋다. ^^ – fameman