SQL 9

[빅데이터를 지탱하는 기술] Ch3.빅데이터 분산 처리 프레임워크

3-1 대규모 분산 처리의 프레임워크 구조화 데이터(structured data) 스키마(schema) 명확하게 정의된 데이터 테이블 비구조화 데이터(unstured data) 스키마가 없는 데이터 텍스트, 이미지 스키마리스 데이터(schemaless data) CSV, JSON(인터넷을 통해 주고받는 데이터), XML 서식은 정해져 있지만, 컬럼 수나 데이터형은 명확X 일반적으로 구조화 데이터 압축률 높이기 위해 열지향 스토리지로 저장 즉, MPP DB로 저장하거나 Hadoop 상에서 열 지향 스토리지 형식으로 변환 구조화된 데이터중 시간에 따라 증가하는 데이터를 팩트 테이블, 그에 따른 부속 데이터를 디멘젼 테이블데이터 구조화 열 지향 스토리지의 작성 MPP DB의 경우 제품에 따라 스토리지의 형식이..

[PySpark] 백분위수(percentile), 사분위수(quantile)

약 1억 5천만건 데이터에서 특정한 값 기준으로 상위 n개의 데이터를 뽑아내는데 orderBy 후 limit(n)을 이용해 추출했다. 근데 너무 오래걸리더라... 값을 기준으로 정렬하는 연산방식이 spark에서 비효율적이라고 어디서 본거 같은데... 그래서 분위수 값을 구해 cut-off 방식으로 데이터를 추출했는데 시간이 더 적게 걸리더라. 우선, 예시를 들기 위해 다음과 같이 PySpark 세팅과 데이터 프레임을 구성했다. 그리고 visit(string 형식)의 값에 대해 분위수 값을 구하려고 한다. from pyspark.sql import SparkSession spark = SparkSession.builder.master("local[1]").appName("regexp_replace").ge..

[프로그래머스] 데이터 엔지니어 study - 2주차

0. 기억할 부분 현업에서 깨끗한 데이터는 존재 X 항상 의심하고, 실제 레코드 몇개 살펴보기(노가다) 데이터 품질을 체크하는 버릇 기르기 - unit test 형태로 간단하게 만들기 중복된 레코드 확인 최근 데이터 여부 확인(freshness) Primary key uniqueness 지켜지는지 확인 값이 비어있는 컬럼 확인 어느 시점이 되면 데이터 테이블이 무수히 많아짐 회사성장과 관련 메타데이터 관리 이 시점부터는 데이터 Discovery 문제 발생 무슨 테이블에 내가 원하는 정보가 있는지 누구한테 물어봐야 하는지 문제해결: 검색 서비스 이용, DataHub, Amundsen 1. SQL 기본 1-1. 배경 1970년대 IBM에서 개발, Structured Query Langage 2000년대 ha..

[프로그래머스] SQL 고득점 Kit - String, Date

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 이름에 el이 들어가는 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE ANIMAL_TYPE = "Dog" and NAME like '%el%' ORDER BY NAME; 중성화 여부 파악하기 SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%NE%' OR SEX_UPON_INTAKE LIKE '%SPA%', 'O', 'X') AS '중성화' FROM ANIMAL_INS; DATETIME에서 D..

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - JOIN

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 보호소에서 중성화한 동물 SELECT a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAME FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID WHERE a.SEX_UPON_INTAKE != b.SEX_UPON_OUTCOME;

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - IS NULL

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL; 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL; NULL 처리하기 SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS;

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - GROUP BY

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS 'count' FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; 동명 동물 수 찾기 SELECT NAME, COUNT(NAME) AS 'count' FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME; 입양 시..

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - SUM, MAX, MIN

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 가장 비싼 상품 구하기 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT; 가격이 제일 비싼 식품의 정보 출력하기 SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC LIMIT 1; 최대값 구하기 SELECT MAX(DATETIME) AS '시간' FROM ANIMAL_INS 최소값 구하기 SELECT MIN(DATETIME) AS '시간' FROM ANIMAL_INS 동물수 구하기 SELECT COUNT(ANIMA..

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - SELECT

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 과일로 만든 아이스크림 고르기 SELECT a.FLAVOR FROM FIRST_HALF a LEFT JOIN ICECREAM_INFO b ON a.FLAVOR = b.FLAVOR WHERE a.TOTAL_ORDER > 3000 and b.INGREDIENT_TYPE LIKE '%fr%' ORDER BY TOTAL_ORDER DESC; 12세 이하인 여자 환자 목록 출력하기 SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') ..

프로그래밍/SQL 2022.11.27