본문 바로가기

Programming

(32)
[Python]CSV 파일을 merge하는 방법 안녕하세요. 잇킹 시도르입니다. 오늘은 파이썬을 이용해서 여러 개의 CSV 파일을 하나의 파일로 만들어 보겠습니다. CSV를 합치는 방법에는 pandas의 concat을 이용해서 하는 방법도 있습니다. 그런데 pandas를 이용하게 되면 큰 용량의 csv 파일을 dataframe으로 변환하면서 row memory 문제가 발생하더군요. 어쩌다가 3Gb 넘는 csv 파일들을 합칠 일이 생겨서 해보니 실패했었습니다. 그래서 순수하게 기본 csv 라이브러리만 사용해서 합쳐보려고 합니다. merge 할 대상 파일은 3개로 준비했으며, 헤더가 없는 파일입니다. 해당 파일이 존재하는 경로를 읽기 위해 glob 라이브러리를 사용했습니다. merge 스크립트는 아래와 같습니다. import csv import glob ..
[AWS]EC2 생성하기 안녕하세요. 잇킹 시도르입니다. 오늘은 AWS에서 EC2를 생성해보겠습니다. EC2는 AWS에서 제공하는 가상화된 서버입니다. VPC를 생성함으로써 네트워크를 준비했다면, 이제 애플리케이션 설치나 실제 개발할 환경 설치 등을 수행할 서버가 필요하겠죠? 그런 용도로 사용할 서버가 EC2입니다. 클라우드 서버인 EC2는 기존 온프레미스의 서버와 다른 점이 몇 가지 있습니다. 1. 자신의 입맛대로 컴퓨팅 자원을 쉽게 조절해서 생성할 수 있습니다. 삭제 또한 간단합니다. 2. 생성 시간이 짧죠. 버튼 몇 번 누르면 서버 하나가 생성됩니다. 기존에 서버 하나 추가하려면 몇 주가 걸리던 때를 생각하면 정말 편합니다. 3. AMI(Amazon Machine Image)라고 해서 생성한 EC2를 복사해서 이미지를 생성..
[AWS]VPC 생성하기(4) - 가용영역과 서브넷 추가(Auto 퍼블릭 IP 할당) 안녕하세요. 잇킹 시도르입니다. 전에 생성했던 VPC에 이제 퍼블릭 서브넷과 프라이빗 서브넷을 다른 가용 영역에 추가하려고 합니다. AWS는 여러 지역별로 여러 개의 클라우드 인프라를 분산 운영하고 있습니다. 이런 지역들을 리전이라고 합니다. 서울 리전이나 도쿄 리전 등으로 나라나 도시를 리전의 이름으로 사용하고 있습니다. 이런 지역에서는 여러 데이터 센터가 있겠죠. 클라우드 인프라는 지역 안에 있는 여러 개의 데이터 센터에 분산되어 있습니다. 이런 데이터 센터를 가용 영역(Availability zone) 이라고 합니다. 줄여서 AZ라고도 자주 부른다고 하네요. VPC 생성 시에 서브넷을 최소 2개 이상의 가용 영역에 걸쳐서 배치하는 것을 추천합니다. 이유가 무엇일까요? AWS 리전 내의 모든 가용 영..
[AWS]VPC 생성하기(3) - Endpoint 안녕하세요. 잇킹 시도르입니다. 이제 VPC Wizard에서 남은 옵션이 Endpoint가 있습니다. 이상하게 위자드에서 Endpoint를 바로 만드려니 진행이 안되더라고요. 그래서 우선 현재 진행 상태에서 VPC를 생성했습니다. 그럼 아직 하지 못한 기능에 대해 추가로 설명 진행하겠습니다. Internet Gateway (2)번 글에서 설명했듯이, 프라이빗 서브넷은 외부와 접속하기 위해서 NAT Gateway를 통한다고 했습니다. 그렇다면 퍼블릭 서브넷은 무엇을 통해서 외부와 접속하게 되는 걸까요? 바로 IGW(Internet Gateway)입니다. 사실 퍼블릭 서브넷과 프라이빗 서브넷의 차이는 IGW에 접속할 수 있냐 없냐입니다. 각 서브넷은 외부 인터넷과 접속을 위해서 IGW/NGW가 사용됩니다. ..
[AWS]VPC 생성하기(2) - NAT Gateway 안녕하세요. 잇킹 시도르입니다. 저번 글에 이어서 VPC 생성을 계속 진행해 보겠습니다. 1번 글까지의 진행 상태입니다. VPC와 퍼블릭 서브넷, 프라이빗 서브넷의 IP 대역과 가용 영역 및 이름을 지정했습니다. 다음 옵션에는 NAT gateway와 Endpoints가 있습니다. Endpoints는 Wizard에서 생성하지 않고 추후 생성하면서 내용 추가를 하겠습니다. 4. NAT Gateway NAT Gateway 생성 항목입니다. Elastic IP라고 해서 탄력적 IP를 생성 후에 연결하도록 되어 있습니다. 그런데 요금 내용을 보니 이건 프리티어에서도 요금이 발생하는 것 같습니다. 그럼 우측 끝에 있는 Use a NAT instance instead를 클릭해서 NAT gateway에서 전환해줍니다...