일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- airflow
- SQL
- 데브코스
- PCCP
- VPC
- AWS
- 팀 프로젝트
- GCP
- 데이터 엔지니어
- Til
- beuatifulsoup
- django
- 코테 연습
- Spark
- Kafka
- superset
- 코딩 테스트
- 코딩테스트
- Selenium
- Snowflake
- 슈퍼셋
- Tableau
- HTML
- cloud platform
- 데이터 시각화
- Today
- Total
목록분류 전체보기 (126)
주니어 데이터 엔지니어 우솨's 개발일지
학습내용월별 유니크한 사용자 수 SELECT TO_CHAR(A.ts, 'YYYY-MM') AS month, COUNT(DISTINCT B.userid) AS mau FROM raw_data.session_timestamp A JOIN raw_data.user_session_channel B ON A.sessionid = B.sessionid GROUP BY 1 ORDER BY 1 DESC; 데이터 품질 확인방법 1. 중복된 레코드들 체크 2. 최근 데이터의 존재여부 체크(freshness) 3. Primary key uniqueness가 지켜지는지 체크 4. 값이 비어있는 컬럼들이 있는지 체크 CTAS : SELECT를 가지고 테이블을 생성 - adhoc위에서 write가능 DROP TABLE IF E..
학습 내용 관계형 데이터베이스 예제 사용자 ID : 보통 웹서비스에서는 등록된 사용자마다 부여하는 유일한 ID 세션 ID : 세션마다 부여되는 ID 세션 : 사용자의 방문을 논리적인 단위로 나눈 것 - 사용자가 외부링크를 타고 오거나 직접 방문해서 올 경우 세션을 새성 - 사용자가 방문 후 30분간 interaction이 없다가 뭔가를 하는 경우 새로 세션을 생성 => 하나의 사용자가 여러개의 세션을 가질 수 있다. - 보통 세션의 경우 세션을 만들어낸 접점을 채널이란 이름으로 기록을 해둠, 세션이 생긴 시간도 같이 기록. SQL의 기본 다수의 SQL문을 실행시 세미콜론(;)으로 분리가 필요 SQL주석 -- : 인라인 한줄짜리 주석, 자바에서 //에 해당 /*--*/ : 여러 줄에 걸쳐 사용 가능한 주석..
학습 내용 관계형 데이터베이스 구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지 - 엑셀 스프레드시트 형태의 테이블로 데이터를 정의하고 저장 - 컬럼(열)과 레코드(행)이 존재 대표적인 관계형 데이터베이스 프로덕션 데이터베이스 : MySQL, PostgreSQL, Oracle 등 - OLTP(OnLine Transaction Processing) - 빠른 속도에 집중, 서비스에 필요한 정보 저장 데이터 웨어하우스 : Redshift, Snowflake, BigQuery, Hive 등 - OLAP(Online Analytical Processing) - 처리 데이터 크기에 집중, 데이터 분석 혹은 모델 빌딩 등을 위한 데이터를 저장 - 보통 프로덕션 데이터베이스를 복사해서 데이터 웨어하우스에 저..
학습 내용 RelatedField polls_api/serializers.py questions = serializers.PrimaryKeyRelatedField(many=True, queryset=Question.objects.all()) 유저 질문이 프라이머리키(id)로 나옴 questions = serializers.StringRelatedField(many=True, read_only=True) 유저 질문이 string method로 나옴 questions = serializers.SlugRelatedField(many=True, read_only=True, slug_field='pub_date') 필드중 아무거나 정해서 그 내용을 표시(이번엔 pubdate로 지정) questions = seri..
학습내용 Git 분산환경을 지원하는 소스 버전 컨트롤 시스템 -CVS, SVN은 항상 서버에 연결되어 있다는 전제하에서 사용 가능 -CVS,SVN에 비해 현저하게 빠르지만 사용법은 훨씬 더 복잡하다. 장점 - 다수의 개발자가 공동개발 가능 - 코드리뷰 가능 - 코드 백업 - 과거의 코드로 롤백 가능 - 텍스트파일이라면 모두 사용가능 Mainline(Master) -source of truth가 되는 특별한 branch Branch -특정한 기능을 구현하기 위해 만들어진 mainline의 복사본. 구현과 테스트가 이루어진 후에 mian branch와 머지된다. Repo(Repository) - 깃으로 관리되는 소프트웨어 프로젝트를 지칭한다 Clone - 다른 계정에 존재하는 repo로부터 새로운 local..
학습내용 Serialize 모델 인스턴스나 queryset과 같은 데이터를 JSON 형식의 파일로 변환하는 작업 Deserialize JSON형식의 데이터를 정의된 포맷에 맞추어 다시 모델 인스턴스로 변환하는 작업 from rest_framework import serializers from polls.models import Question class QuestionSerializer(serializers.Serializer) : id = serializers.IntegerField(read_only=True) question_text = serializers.CharField(max_length=200) pub_date = serializers.DateTimeField(read_only=True) d..