[SQL] DML/ DDL (JOIN, SUBQUERY ETC)
·
알쓸신잡
1. SQL 순서 From/join where groupby having select order by 2. Data lake vs Data warehouse vs Data mart Data lake : 정형, 비정형, 반정형 모든 raw data 집합 Data warehouse : Data를 저장 전 스키마가 적용되며, 특정 목적에 맞게 정리하고 구성된 데이터의 집합 Data mart : Lob 특성에 맞게 모아놓은 Data 집합 3. DML / DDL DML : 데이터를 추가 조작하는데에 쓰이는 언어 INSERT, DELETE, UPDATE, SELECT DDL : 테이블을 생성하거나 변경, 삭제할 때 쓰이는 언어 CREATE, ALTER, REPLACE, DROP Create table CREATE ..
[AWS] Boto3로 S3 연결
·
데이터 엔지니어링/AWS
Boto3를 이용해서 S3 객체와 연동하여 데이터를 적재할 때 업로드를 직접하지 않아도 됨 import pandas as pd import warnings import boto3 import io from io import BytesIO import json warnings.filterwarnings("ignore") def s3_read(s3_path): s3 = boto3.client('s3',region_name='ap-northeast-2') bucket = s3_path.split('//')[1].split('/')[0] file_key = '/'.join(s3_path.split('/')[3:]) response = s3.get_object(Bucket=bucket, Key=file_key) ..
[Project] Pyupbit ETL 파이프라인 구축
·
프로젝트
Upbit 실시간 비트 코인 데이터를 Kafka Producer로 부터 Consumer로 보내고 Mysql DB에 적재한 뒤 한 시간 한번 실행하는 Schedule는 Airflow 스케줄로 배치하는 Pipeline구축 🛠️ 사용 기술 및 라이브러리 Pandas AWS S3 Mysql Kafka Airflow 💻 담당한 기능 (AWS, Kafka, Airflow , Mysql) 작업 내용 1. AWS EC2에 kafka, airflow, mysql install 2. pyupbit를 kafka로 연동 3. mysql db에 적재 4.airflow로 1시간마다 배치 스케줄링 설정 🧨 Error mysql.connector.errors.InterfaceError: 2003: Can't connect to My..
[Certificate] Databricks Engineer - Associate 합격 및 키워드 정리
·
프로젝트
IntroSpark 공부를 하면서 업무적으로 기회를 얻으려고 진행한 자격증이였다. 원래 자격증은 한번에 붙는 나였는데 이 자격증은 계속 떨어졌다.팀장님의 계속적인 바우처 도움이 아니였으면 애초에 포기했었을 자격증이였다. 시험과 답이 모두 영어로 나오기 때문에 영어를 못하는 본인으로써는 조금 난해했던 자격증이였다. 역시 본인이 제일 공부해야하는 언어는 영어 일듯 싶다 ^^그래도 계속 도전해보면 언젠가 따겠지 하는 마인드로 밀어붙였더니 고득점으로 합격했다뭐든지 계속 하다보면 안되는 건 없다 계속 떨어져서 눈치는 많이 봤지만 그래도 합격하게 되면 앞선 과정들은 아무것도 아니라고 생각했다 준비기간 ( 약 2달 )이번 자격증은 자격증이 주가 아니였고, 업무를 녹여내게끔 하는 것이 주였다. 따라서 실제로 코딩하면..
[ELK스택] Elastic Search (3)
·
데이터 엔지니어링/AWS
Metric Aggregation 산술 aggregation { "size" : 0, "aggs" : { "stats_score" : { "stats" : { "field" : "points" } } } } curl -XGET -H'Content-Type: application/json' localhost:9200/_search?pretty --data-binary @avg_points_aggs.json AVG(평균) MAX (최대값) status : count/ min / max / avg / sum => aggregation이 다 나올 수 있는 코드 Bucket aggregation SQL Group by와 같음 { "size" : 0, "aggs" : { "team_stats" : { "terms"..
[네트워크] Get, Post
·
알쓸신잡
GetRDB로 치면 Selectget을 통한 요청은 url 주소 끝에 파라미터가 포함되어서 전송이 되는것PostRDB로 치면 Update / Create리소스를 생성하거나 업데이트를 할때 사용되는 메서드이며 전송할 데이터를 HTTP message Body 부분에 담아서 서버로 보내는것get에서의 보여준 "query=get"이 Body부분에 담겨서 보내지는 것이다Get은 서버의 리소스에서 데이터를 조회할때 사용하는 것이며 Post는 서버의 리소스를 새로 생성하거나 업데이트를 할때 사용함참고링크https://noahlogs.tistory.com/35 [네트워크] get 과 post 의 차이GET 과 POST 는 HTTP 메서드로 클라이언트에서 서버로 무언가를 요청할 때 사용한다. 2019/06/01 - [I..
[ELK스택] Elastic Search (2)
·
데이터 엔지니어링/AWS
Elastic Search (1) 에서 json file로부터 document를 생성했기 때문에 아래의 코드 실행시 에러 발생함 curl -XPOST http://localhost:9200/classes/class/1/_update -d ' {"doc" : {"unit":1}}' Elasticsearch 6.0 이후 버전에 도입된 엄격한 content-type 확인으로 인해서 아래의 코드가 추가되어야함 curl -XPOST http://localhost:9200/classes/class/1/_update?pretty -H'Content-Type: application/json' -d' { "doc" : {"unit" : 4} } ' unit 4로 변경 확인 Update One Field With Scri..
[Docker] MLflow with Docker
·
ML & DL
Docker란?Docker는 개발자가 컨테이너를 빌드, 배포, 실행, 업데이트, 관리할 수 있는 오픈 소스 플랫폼작업하는 동안 컨테이너를 쉽게 공유하고 모든 참여자가 동일한 환경에서 작업컨테이너의 수명 주기를 관리하기 위한 도구와 플랫폼을 제공하여 애플리케이션의 배포와 관리를 용이하게 함docker는 가상머신과 달리 커널을 공유해서 사용함docker client : 도커 사용자가 도커와 소통하는 기본적인 방법docker_host : 도커가 띄워진 서버이며, 컨테이너와 이미지를 관리함docker daemon : 도커 엔진이며 도커의 api 요청을 듣고 이미지, 컨테이너, 네트워크 등 도커의 객체를 관리함docker registry: 도커 이미지 저장소이며 docker pull 또는 docker run 명령..