ssung_데이터 엔지니어링 64

AWS(3)

IAM (Identity and Access Management) Identity and Access Management (IAM)의 약자로 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스 IAM을 사용하여 리소스를 사용하도록 인증 (로그인) 및 권한 부여 (권한 있음)된 대상 제어 AWS 계정 생성 시 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인 ID로 시작 해당 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장 특징 AWS 계정에 대한 공유 세분화된 권한 Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 ..

AWS(2)

Route 53 가용성과 확장성이 뛰어난 DNS (도메인 이름 시스템) 웹 서비스 도메인 등록, DNS 라우팅, 상태 확인의 세 가지 주요 기능을 조합하여 실행 가능 public host zone과 private host zone이 존재 Route53 = DNS(네임서버) + 모니터링 + L4 + GSLB GSLB? (Global Server Load Balancing) - DNS 서비스 기반으로 사용자가 원하는 엔드포인트(서버 혹은 도메인) 및 정책을 이용해 안정적으로 트래픽을 로드밸런싱하는 서비스 - 이를 위해, 각각의 분산된 서버 혹은 도메인의 헬스 체크 모니터링을 수행하고, 다양한 로드 밸런싱을 수행할 수 있는 서비스 - 헬스 체크를 통해 다운된 서버로 사용자가 연결되는 것을 방지 - 서버의 부하..

AWS(1)

AWS란? Amazon Web Services (AWS)의 약어 전 세계적으로 분포한 데이터 센터에서 200개가 넘는 서비스를 제공하는 클라우드 플랫폼 스타트업, 주요 정부 기관 등을 포함해 AWS를 사용해 비용 절감, 민첩성을 향상 클라우드 컴퓨팅 클라우드 컴퓨팅 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한만큼만 비용을 지불하는 방식 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, AWS와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, DB와 같은 기술 서비스를 제공 장점 민첩성, 탄력성, 비용절감, On demand, 관리 용이 AWS 기본 용어 가상화 - 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스로 클라우드 컴퓨팅의 기반..

데이터 웨어하우스, SQL, 데이터분석 (3)

GROUP BY & Aggregate 함수 테이블의 레코드를 그룹화하여 그룹별로 다양한 정보를 계산 두 단계로 이루어짐 GROUP BY를 사용해 그룹핑 할 필드를 결정 (하나 이상의 필드 설정 가능) Aggreagate 함수를 사용해 계산할 내용 결정 (COUNT, SUM, AVG, MIN, MAX, LISTAGG...) 월별 세션수를 계산하는 SQL SELECT LEFT(ts, 7) AS mon, COUNT(1) AS session_count FROM raw_data.session_timestamp GROUP BY 1 -- GROUP BY mon, GROUP BY LEFT(ts, 7) ORDER BY 1; 가장 많이 사용된 채널은? SELECT channel, COUNT(1) AS session_cou..

데이터 웨어하우스, SQL, 데이터분석 (2)

SQL 기본 다수의 SQL 문을 실행한다면 세미콜론으로 분리 필요 SQL_1; SQL_2; SQL_3; 주석 -- (주석내용) : 인라인 한 줄짜리 주석 /* (주석내용) */ : 여러 줄에 걸쳐 사용 가능한 주석 팀 프로젝트의 경우 팀에서 사용하는 포맷 설정 후 진행 테이블/필드 이름의 규칙을 정하는 것이 중요 SQL DDL - 테이블 구조 정의 언어 CREATE TABLE Primary key 속성을 지정할 수 있지만, 무시 (Primary key uniqueness - 데이터 웨어하우스에서는 지켜지지 않음) CTAS - CREATE TABLE 테이블 이름 AS SELECT 새로운 테이블을 생성할 때 기존의 테이블의 내용과 똑같이 한 번에 복사하고자 할 때 사용 DROP TABLE DROP TABLE..

데이터 웨어하우스, SQL, 데이터분석 (1)

관계형 데이터베이스 구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지 엑셀 스프레드시트 형태의 테이블로 데이터를 정의하고 저장 관계형 데이터 베이스를 조작하는 프로그래밍 언어가 SQL DDL (Data Definition Language) - 테이블 정의를 위함 DML (Data Manipulation Language) - 테이블 데이터 조작/질의를 위함 프로덕션 데이터베이스 - MySQL, PostgreSQL, Oracle... OLTP (OnLine Transaction Processing) 빠른 속도에 집중. 서비스에 필요한 정보 저장 데이터 웨어하우스 - Redshift, Snowflake, BigQuery, Hive... OLAP (OnLine Analyical Processing) ..

vsCODE git 에러 - Please clean your repository working tree before checkout

개인 프로젝트를 진행할 때는 아무런 문제가 없다. 하지만, 협업을 하는 과정이 더 많다보니 수많은 동료들과 push & pull을 할 것이다. 이 때 내가 수정한 코드를 push 하기 위해 먼저, 프로젝트의 최신화 된 code를 pull 할 때 내가 수정한 코드와 다수가 수정한 코드가 동시에 변경이 되면서 충돌을 일으키는 경우 다음과 같이 오류가 발생 그렇다면 해결 방법은? Terminam에 'git stash'를 작성하고 pull을 받으면 끝! git stash 명령어는 본인이 수정한 코드가 모두 작성 이전의 상태로 돌아간 것처럼 보이지만 실제로는 임시 저장되어 보이지 않는 상태가 된 것이라고 한다. 따라서 'git stash'를 적용하고 pull을 통해 최신화 한 다음 'git stash pop'을 ..

Django 활용하여 DB (MySQL)연동 및 데이터 넣기

- pymysql을 활용해 mysql 연동하기 - pymysql 설치 pip install pymysql - 로컬 DB에 연결 import pymysql db = pymysql.connect( host="127.0.0.1", user="root", password="skrxk362636!@", database="test_db3", charset='utf8' ) cursor = db.cursor() - Table 생성 (이 단계 전에 Mysql workbench에서 스키마를 생성해주어야 함) cursor.execute("CREATE TABLE newsTable (id int primary key not null auto_increment, Topic varchar(100), Period char(100),..

git 기초 - window cmd 활용하기

1. 레포 (Repo) 생성하기 2. git 설치하기 3. cmd 창 열어서 git 및 gir version 확인해보기 4. 기본 설정해주기 github에 설정된 username과 e-mail을 설정 5. 폴더 (project 저장용) 생성 후 생성한 폴더에 repo clone 하기 우선, cmd 창을 활용해 생성한 폴더로 이동하기 cd C:\Users\sjhj8\Desktop\test git repo clone 하기 6. 생성된 repo로 이동하여 파일 commit 하기 clone 된 repo 파일로 경로 이동 cd test 아무 파일이나 생성하여 commit 준비 cmd를 통해 파일 추가해주기 cmd를 통해 commit 진행하기 (쌍따옴표 안에 문구는 자유롭게 작성) 7. commit 한 파일 pus..

Django 활용하기(5)

RelatedField question과 user 사이의 관계를 매핑해주는 다양한 방법 존재 # polls_api/serializers.py class UserSerializer(serializers.ModelSerializer): # pk id로 표시 questions = serializers.PrimaryKeyRelatedField(many=True, queryset=Question.objects.all()) # model.py에 __str__ 메소드에 정의된 내용을 표시 questions = serializers.StringRelatedField(many=True, read_only=True) # model.py의 Question 내부의 특정 필드를 지정할 수 있음 questions = serial..

728x90