티스토리 뷰
초보 입장에서 어려웠던 부분중에 하나가 큰 데이터를 다루는 부분 이었다.
데이터는 크게 Feature, Label로 나뉘는데
Raw 데이터를 이용해 Label을 후에 붙여주게 된다.
내 경우에는 RAW 데이터가 MySQL 로 저장이 되어
MySQL에서 아래 작업을 처리 하려고 했었는데 이게 문제였다.
1. Feature 부분을 Export -> Export 속도가 느림.
2. label 생성 -> 생성은 빠름
3. Feature와 Label을 Join -> 하루 종일 돌려서 6000만건, 3억 건이면 5일을 돌려야 됨
이에 대한 해결 책은
1. Python을 이용하여 Feature데이터를 나누어서 Parquet 형식으로 저장
2. Label 도 Parquet 형식으로 저장
3. Label 과 Feature는 나중에 Join 할 수 있도록 키를 맞추어 저장
4. Label 은 여러가지 시도를 해 볼 수 있기 때문에 따로 준비
이렇게 준비하면 Feature 하나에 여러개의 라벨을 만들 수 있고
Feature는 아래와 같이 여러개
Label도 아래와 같이 여러개 파일로 나누어서 준비 할 수 있다.
Python에서 합쳐도 되겠지만 AWS를 쓰면 조금 더 빠르게 합칠 수 있다.
1. AWS S3에 각 폴더를 업로드
2. SageMaker Canvas에서 Data Wragler 선택, Import and prepare 클릭, Tarbular 클릭
3. S3에서 데이터 선택. 올린것을 모두 선택 하면 됨
4. 이렇게 하면 Feature가 불러와 지고
5. 여기에 오른쪽 위에 Add data를 눌러서 Label을 불러옴
6. Data Types에서 Combine data-> Join을 눌러 두개를 합침
합친 모양
그리고 합쳐진 것을 Export 하면 쉽게 데이터를 C3에 저장할 수 있다. 로 끝났으면 행복했겠지만
문제가 발생한다.
내 데이터는 80GB 정도 되고 여러개 파일로 나누어서 올린 후 합치려고 했더니
제대로 올라가지 않고 합쳐지지도 않는다.
이렇게 AWS를 이용해 처리하는 방법은 실패 했다.
쉬운 방법을 찾아서 헤멨지만
쉬운 방법은 없는가 보다.
이렇게 된 이상 로컬에서 하나로 합쳐서 준비 하는 수 밖에
'AWS Sagemaker' 카테고리의 다른 글
3. Sagemaker 둘러보기 (0) | 2024.08.10 |
---|---|
2. 데이터 준비하기 (0) | 2024.08.10 |
1. 다시 머신러닝을 해 보자 (0) | 2024.08.10 |
- Total
- Today
- Yesterday