오늘 포스팅에서는 pyspark를 세팅하는 과정 중에 발생한 이슈를 다뤄보려고 합니다. 요새 udemy에서 pyspark 강의를 듣고 있거든요
log4j.properties 수정
spark 설치 이후, conf 폴더 내의 log4j.properties.template 파일을 수정해야 합니다. 파일명에서 .template를 삭제한 뒤, 워드패드로 파일을 열어 rootCategory=INFO를 rootCategory= ERROR로 수정해야 합니다.
그런데 제 버전에서는 해당 파일 내에 rootCategory=INFO라는 문구가 없었습니다.
해결 방법
원래 ERROR로 수정하는 것은 작업 실행 시, 출력하는 모든 logs span의 클러터를 없애기 위함입니다. 구글링해본 결과, rootLogger.level = WARN으로 수정하는 것도 같은 역할을 한다고 하더라구요. 따라서 저는 rootLogger.level = WARN으로 수정한 뒤 사용 중입니다.
msvcr100.dll이 없어 코드 실행을 진행할 수 없습니다
환경변수 설정까지 마친 뒤, winutils.exe chmod 777 \tmp\hive를 실행했을 때 위와 같은 오류가 떴습니다.
+ 해당 명령어를 입력하기 전에 mkdir c:\tmp\hive로 새로운 경로를 먼저 만들어주세요
해결 방법
msvcr100.dll 파일을 구글링해서 다운로드한 뒤, C 드라이브에 저장한 뒤 실행하니 오류가 발생하지 않았습니다.
다른 분들은 노트북 사양에 맞게 저장하면 된다고 하는데, 제 노트북에는 SysWOW64 폴더와 System32 폴더가 모두 존재합니다. 64 비트라 처음에는 C:\windows\SysWOW64에만 파일을 저장했으나, C:\windows\System32 에도 파일을 저장해야 오류가 안 나더라구요. SysWOW64에는 64비트용 파일을, System32에는 32비트용 파일을 저장했습니다.
Anaconda Prompt 에서 pyspark 입력 시 python interpreter가 뜨는 문...제?
강의에서도 그렇고 구글링하면서 찾아본 결과도 그렇고, anaconda prompt에서 pyspark를 입력할 경우 spark 로고가 뜨는 게 정상이라고 알고 있었습니다. 그런데 저는 pyspark를 입력할 경우 python interpreter 창이 새로 열리더라구요.
java 삭제 후 관리자 권한으로 재설치도 해보고 환경변수도 편집해보았지만 바뀌는 건 없었습니다. 다만 cmd에서 scala로 spark가 실행되는 데에는 문제가 없었습니다. chat gpt한테 물어보니 오류가 아니라 정상이라고 하더라구요.. 과연 챗지피티가 제 말을 제대로 이해했는지는 모르겠지만요.
아무튼 cmd에서 실행하는 데에 이상은 없었고, 아나콘다 프롬프트에서도 오류 메시지가 뜨는 건 아니니 킵고잉 해보기로 했습니다. 그리고 아나콘다 프롬프트에서 spark-submit을 실행한 결과, 이상없이 잘 출력되는 것을 확인할 수 있었습니다.
NativeCodeLoader 메시지는 로컬에서 실행할 경우 뜨는 메시지라고 합니다(udemy 강의 내용).
더불어, 강의에서는 python 3.1을 사용할 경우 pyspark_python 환경변수를 추가로 지정해야 한다고 합니다. 3.1 이상의 python을 사용하시는 분들은 굳이 pyspark_python 환경변수를 추가하실 필요가 없습니다..! 저는 3.9를 사용하고 있는데, 대충 보고 pyspark_python 환경변수 추가했다가 괜히 에러만 봤어요.
c:\users\user\anaconda는 실행할 수 없는~~' 이라는 오류가 뜹니다. 변수 추가 안 하셔도 제대로 작동합니다.
'Data > spark' 카테고리의 다른 글
[Udemy] Spark Streaming, 구조적 스트리밍 (1) | 2024.07.05 |
---|---|
[Udemy] Spark ML을 사용한 머신러닝 (0) | 2024.07.02 |
[Udemy] Spark 프로그램의 고급 예제 (1) | 2024.06.15 |
[Udemy] SparkSQL, DataFrames 및 Datasets (0) | 2024.06.11 |
[Udemy] Spark 기본 사항 및 RDD 인터페이스 (0) | 2024.05.21 |