본문 바로가기
반응형

DATA Science/DataEngineering10

json 방식 parquet 방식 # RDS - 아티스트 ID를 가져오고 cursor.execute("SELECT id FROM artists LIMIT 10") dt = datetime.utcnow().strftime("%Y-%m-%d") print(dt) sys.exit(0) with open('top_tracks.json', 'w') as f: for i in top_tracks: json.dump(i,f) f.write(os.linesep) s3 = boto3.resource('s3') object = s3.Object('data-artsts', 'dt={}/top-tracks.json'.format(dt)) #dt 읽을수 있는 파티션으로 바꿔준느것 이건 json 파일 형식으로 # RDS - 아티스트 ID를 가져오고 cursor... 2021. 6. 27.
쿼리 줄이기 spotify api 를 통해 mysql db에 삽입하려고 한다. if artist_raw['name'] == params['q']: artist.update( { 'id': artist_raw['id'], 'name': artist_raw['name'], 'followers': artist_raw['followers']['total'], 'popularity': artist_raw['popularity'], 'url': artist_raw['external_urls']['spotify'], 'image_url': artist_raw['images'][0]['url'] } ) query = """ INSERT INTO artists (id, name, followers, popularity, url, i.. 2021. 6. 23.
mysql window cmd에서 실행 및 aws 로 접속 mysql 설치후 C:\Program Files\MySQL\MySQL Server 8.0\bin 경로를 환경변수에 넣어주면 실행이된다 나같은 경우는 workbench여서 안됐었다... mysql server를 따로 설치해줘야한다. 그리고 접속이 잘되는 모습이다. 2021. 6. 23.
에러 핸들링 try: r = requests.get("https://api.spotify.com/v1/search", params=params, headers=headers) except: logging.error(r.text) sys.exit(1) r = requests.get("https://api.spotify.com/v1/search", params=params, headers=headers) if r.status_code != 200: logging.error(r.text) if r.status_code == 429: retry_after = json.loads(r.headers)['Retry-After'] time.sleep(int(retry_after)) r = requests.get("https://a.. 2021. 6. 23.
spotify api 설정 및 간단한 검색 spotify 가입후 dashboard에들어가서 api id, secret key를 획득하자 https://developer.spotify.com/dashboard/applications My Dashboard | Spotify for Developers Create and manage Spotify Applications to use the Spotify Web API. Obtain credentials to authenticate with Spotify and fetch metadata. developer.spotify.com https://developer.spotify.com/documentation/general/guides/authorization-guide/ Authorization Guid.. 2021. 6. 22.
AWS cli 설치 및 설정(profile 설정하여 관리) 목차 https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html Installing, updating, and uninstalling the AWS CLI - AWS Command Line Interface Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better. docs.aws.amazon.com 여기보면 설치 방법이 나와있다 version 1, 2 가 있는데 한가지만 설치하자(차이는 2는 최신기능 사용,1은 최.. 2021. 6. 22.
엔드 투 엔드 아키텍처 예시 통신 종단점에 유지되는 네트워크 설계 방법입니다. 이 원칙은 게이트웨이 및 라우터 와 같이 클라이언트와 끝점 사이의 중간 지점에 존재하는 기능과 대조됩니다 . 이 방법에서 중간 노드 는 데이터를 무작위로 전달합니다. 기능이 끝점에만 존재하기 때문에 차별이 없으면 기능 장애 없이 중간 노드를 다른 노드로 교체할 수 있습니다. 여기서 서비스를 찾아보면 S3 : 빅데이터 저장소 (DB는 너무 비용적으로 많이듬) amazon emr : spark에 최적화된 서버 redshift : RDB중 하나 분석에 특화된 DB, presto 엔진위에 서버리스 프레임워크 아래는 Netflix의 AWS 아키텍처이다. 대부분 보면 데이터를 수집하여 저장후 가공하여 DB 저장하거나 또 처리를 하여 보여주거나 이용하는것을 볼수 있다.. 2021. 6. 21.
데이터 파이프라인 한장소에서 다른장소로 옮기는 것 ex. db db API db 필요한 경우 데이터 소스들로부터 데이터를 생성 저장하는기 위해 데이터에서 추가적인 가치를 창출할때 데이터 사일로 - 데이터가 부서별로 고립되어 있을때 통합시키려고 할때 클라우드 환경으로 데이터 저장할때 Data silo: 데이터사일로는 한 조직 내 정보의 집합이지만, 조직 내 다른 부서는 접근할 수 없는 분리된 정보를 의미한다 Scalability: 데이터가 기하급수적으로 늘어났을때도 작동하는가? Stability: 에러, 데이터 플로우 등 다양한 모니터링 관리 Security: 데이터 이동간 보안에 대한 리스크는 무엇인가 2021. 6. 21.
데이터 시스템의 옵션들(Nosql, 병렬처리시스템, serverless) NoSql 구조화를 안해도 되며, 스키마가 sql에 비해 더 적다 NoSQL 데이터베이스에서는 데이터의 액세스 및 관리를 위해 다양한 데이터 모델을 사용 Scale out highly scalable, less expensive maintain 큰 테이터 볼륨, 짧은 지연 시간과 유연한 데이터 모델이 필요한 애플리케이션에 최적화되었으며, 이는 다른 데이터베이스의 데이터 일관성 제약 일부를 완화 사용해야하는 이유 유연성과 확장성을 비롯해 고성능의 매우 기능적인 데이터베이스를 필요로 하는 모바일, 웹이나 게이밍과 같은 다양한 현대적인 애플리케이션에 적합하기 때문이다. 유연성: NoSQL 데이터베이스는 일반적으로 유연한 스키마를 제공하여 보다 빠르고 반복적인 개발을 가능하게 해줍니다. 이같은 유연한 데이터 모.. 2021. 6. 21.
데이터 아키텍처 설계시 고려사항 1. 비용대비 비지니스 임팩트가 가장 높은 데이터 확보 2. 데이터 거버넌스 데이터 거버넌스란 데이터의 보안, 개인정보 보호, 정확성, 가용성, 사용성을 보장하기 위해 수행하는 모든 작업 원칙 - 데이터 유지관리하기 위한 원칙(보안,품질,변경관리) 조직 - 데이터를 관리할 조직의 역할과 책임(데이터 관리자, 데이터 아키텍쳐) 프로세스 - 데이터 관리를 위한 시스템(작업절차,모니터 및 측정) 3. 특정 기술 및 솔루션에 얽매여져 있지 않고 새로운 테크를 빠르게 적용할 수 있는지 4. 실시간 데이터 핸들링이 가능한지 5. 보안 6. 셀프 서비스 환경 구축 데이터 엔지니어가 작업할 수 있는 확장성 없는 데이터 분석환경이 있어야 한다고 한다 ex. BI Tools, QuerySystem fof Analysis... 2021. 6. 17.
반응형