본문 바로가기
무모한 도전-주식 인공지능 만들기

빅데이터(?)의 처리하는 방법-3-

by 인터넷떠돌이 2019. 5. 7.
반응형

안녕하세요?

 

이번 포스팅에서는 예상치 못하게 그냥 parquet(파케이)형식으로 데이터를 저장한다고 시도를 하다 보니, pyarrow라는 모듈이 필요하다고 나오는 것을 확인할 수 있었습니다.

 

일단 이게 무엇인지 인터넷을 검색해 보니까, 위 스크린샷과 같이 볼 수 있는데, 일단 저로서는 정확하게 이게 무엇을 하는 라이브러리인지는 잘 모르겠습니다. 하지만, 이게 dask의 데이터프레임을 파케이형식의 파일에 저장하기 위해서는 필요한 라이브러리라는 것 까진 알 수 있었습니다.

 

그래서 먼저 아나콘다 프롬프트를 실행시킨 다음에, 위 스크린샷에서 나오는 것처럼 conda install pyarrow -c conda -forge라는 명령어를 써서 기존의 환경에 설치를 하도록 합니다.

 

그런데 오타를 내서 한번 conda install pyarrow -c conda-forge라는 명령어를 정확하게 입력했어야 했는데 그렇지 못해서 다시 입력합니다.

 

그런데 그냥은 설치가 안되어서, 하는 수 없이 위 스크린샷에서 나와 있는 것처럼 아나콘다를 한번 업데이트 시켜야 했습니다.

 

이제서야 어떻게 아나콘다 프롬프트에서 설치가 되는 것을 확인할 수 있다는 생각이 들었습니다. 그래서 이번에야 말로 다시금 시도해서 성공할 수 있으리라 생각이 되었습니다.

 

일단 파이참에서 import해서 에러가 없는 것으로 보아서 일단 설치는 성공적으로 되기는 되었다는 생각이 들었습니다. 다만 아직 어느 코드도 참조하지 않아서 이렇게 회색처리가 되어 있습니다.

 

그래도 여전히 에러가 나와서 실행이 제대로 되지 않자, stack overflow에서 한번 찾아보니, 위 스크린샷처럼 pycache를 지워주라는 말이 있었습니다. 그래서 지우고 다시 실행을 해도 안되기는 안 되었습니다.

 

 

그래서 왜 인식이 안되는지 한번 pip 명령을 써서 인스톨을 시켜 보니까, 아예 이 pyarrow는 32비트 체제에서는 지원이 되지 않는다는 것을 알 수 있었습니다.

 

그래서 하는 수 없이 새로운 환경을 만들어 주어야 했습니다. 일단 기존의 tensorflow_test라는 환경을 복사해서 새로운 환경을 하나 만들어 줍니다. 왜냐하면 이 환경은 64비트 운영체제를 그대로 반영하고 있기 때문입니다.

 

그리고 나서 한번 파이참에서는 TextComparer라는 식으로 새로운 프로젝트를 생성해 주도록 합니다. 이렇게 하는 것으로 이제 이 프로젝트의 환경을 설정해 주러 갑니다.

 

새로운 환경-아까 아나콘다 네비게이터에서 새로이 복사해서 이름을 바꾼 환경을 이 파이참 프로젝트의 환경으로 설정해 주도록 합니다.

 

그리고 나서 기존의 pytraderWithBrain이라는 항목에 있던 py파일을 복사해 와서 붙여넣기를 하도록 합니다. 물론 이를 위해서 새로 라이브러리를 설치하고 업그레이드 하는 것도 잊어 버리면 곤란합니다.

 

먼저 textCompare라는 환경을 불러 오도록 해야 하는데, 환경을 만들 때 부터 무슨 에러를 냈는지, 오타가 나 버리고 말았습니다.

 

그리고 나서 numpy를 인스톨 시킨 다음에, conda install dask라고 해서 dask도 인스톨 해 주도록 합니다. 이렇게 해서 잠시 기다리기만 하면 됩니다.

 

 

그리고 나서 마지막으로는 분명하게 새로 만들어진 환경에서 pip install pyarrow라고 입력을 해서, 한번 설치에 들어가 보도록 합니다.

 

그래서 마지막으로 위 스크린샷에서 보이는 것처럼 한번 실행을 시켜 보았더니 여기서는 제대로 에러없이 실행이 마지막까지 되는 것을 확인할 수 있었습니다.

 

그렇게 해서 일단 parquet(파케이)형식의 파일을 저장하고 있는 폴더가 생성이 되는 것을 확인할 수 있었습니다. 그런데 이 폴더안의 파일을 이제 읽어봐야 하는 일이 남아 있습니다.

 

일단 한번 찾아보니까, 간단하게 이 parquet형식의 파일을 볼 수 있는 프로그램인 parquetViewer라는 것을 확인할 수 있었습니다. 인스톨도 필요없이 그냥 압축파일만 풀면 간단하게 볼 수 있었습니다.

 

위 스크린샷처럼 dll파일하나와 exe파일 하나로 이루어진 간단한 프로그램을 인터넷에서 그냥 다운로드 받기만 하면 되기는 되었습니다.

 

일단 위 스크린샷처럼 결과를 볼 수 있기는 있었습니다. 다만 이것 가지고 데이터를 또 다듬는 것은 조금은 무리라는 생각이 들고, 거기다가 parquet형식의 파일을 연다고 바로 이 뷰어가 보여주는 것도 아닙니다. 뷰어에서 일일히 파일을 지정해야 하는 불편함도 있습니다.

 

마지막으로 이런 기능을 생각해서 csv파일로 결과를 내보내기를 할 수도 있는데, 문제가 하나 있습니다. 주식의 코드같은 경우는 앞에 0이 붙는데, csv형식으로 내보내기를 하면 코드 앞에 붙은 0이 텍스트 처리가 아니라 숫자로 처리가 되어서 모두 사라지는 문제점이 하나 있고, 거기다가 어찌된 셈인지 열도 제대로 못 마추고 이리저리 뒤죽박죽이 되는 상황을 볼 수 있었습니다. 그래서 parquet파일을 다루기 좋은 파일로 바꾸는 것이 남아는 있는데, 이 작업은 일단 뒤로 미루어야 겠습니다.

반응형