전체 글 (155) 썸네일형 리스트형 [BigQuery] 빅쿼리 슬롯 및 SQL 쿼리 최적화 슬롯 : SQL 쿼리를 실행하기 위해 BigQuery 에 사용되는 가상 CPU예약은 빅쿼리를 쓸 때, 이 슬롯 용량을 구매해서 쓰는 것을 말하는데, 쿼리는 해당 용량 범위 내에서 실행되며, 일반적으로 슬롯을 더 많이 구매하면 동시 쿼리를 더 많이 실행할 수 있어 복잡한 쿼리가 더욱 빠르게 실행된다. 쿼리는 해당 용량 범위 내에서 실행되며, 일반적으로 슬롯을 더 많이 구매하면 동시 쿼리를 더 많이 실행할 수 있으며 복잡한 쿼리가 더욱 빠르게 실행된다.예를 들어 2,000개의 BigQuery 슬롯을 구매하면 집계 내의 쿼리가 언제든 2,000개 이하의 가상 CPU만 사용하도록 제한된다. 삭제할 때까지 이 용량이 제공되며 슬롯 2,000개에 대한 비용이 청구 만약 쿼리가 현재 사용가능한 슬롯보다 더 많은 슬롯.. [SQL] ROW_NUMBER() 함수 구글 클라우드(Google Cloud, GCP)에서 제공하는 완전 관리형 데이터 분석 플랫폼, 데이터웨어하우스인 빅쿼리(BigQuery)를 통신하여 자동화 프로그램을 개발하던 도중, SQL 쿼리를 최적화하고자 하는 목표를 가지고 ROW_NUMBER() 을 정리하고자 작성하는 글 목표는 불필요한 중복 제거, 쿼리 간소화 등을 통한 성능 향상을 위한 글이다. ROW_NUMBER() - 결과 집합의 PARTITION 내 ORDER BY절에 의해 각 행에 고유값을 할당하는 윈도우 함수- 분석 함수 - 적용되는 각 행(파티션의 행 또는 쿼리에 의해 반환되는 각 행)에 1부터 시작하는 order_by_clause에서 지정된 행의 순서로 고유 번호를 할당- 지정된 범위의 ROW_NUMBER 값을 검색하는 쿼리에서 R.. [BigQuery] 빅쿼리 성능 최적화 종류 BigQuery 는 기본적으로 데이터 처리 능력이 뛰어난 데이터 웨어 하우스지만, 쿼리를 어떻게 작성하냐에 따라 성능이 달라진다.일반적으로 작업량이 적은 쿼리의 성능이 더 우수하다. 쿼리 성능BigQuery 에서의 쿼리 성능 평가에는 다음과 같은 몇가지 요소가 포함된다.- 입력 데이터 및 데이터 소스(I/O) : 쿼리에서 읽는 바이트 수- 노드 간 통신(셔플) : 쿼리에서 다음 단계로 전달하는 바이트 수, 쿼리에서 각 슬롯에 전달하는 바이트 수- 계산 : 쿼리에 필요한 CPU 작업량- 출력(구체화) : 쿼리에서 쓰는 바이트 수- 사용가능 슬롯 수와 동시 실행 중인 쿼리 수- 쿼리가 SQL 권장사항을 준수하는지 JOIN 최적화Broadcast Join방법 : 제일 큰 Table 을 Left에 두고, Ri.. [BigQuery] 빅쿼리 데이터 구조 및 기본적인 사용방법과 문법 스스로 빅쿼리에 대해서 이해를 하는 것의 필요성을 느끼고, 데이터 구조와 기본적인 사용방법 및 문법에 대해서 간단하게 작성해보고자 한다. 빅쿼리(BigQuery): 페타바이트급의 데이터도 빠르게 분석할 수있는 데이터 분석 플랫폼이며 인프라 운영에는 신경을 쓰지 않고 비용효율적으로 데이터 분석에만 집중할 수 있어 많은 기업에서 도입하고 있는 데이터웨어하우스이다. 기본적인 빅쿼리 사용법을 정리겸 작성해보려고 한다. 빅쿼리 데이터 구조빅쿼리 데이터는 프로젝트 하에 데이터셋이 있고, 데이터셋 안에 테이블이 들어있는 계층 구조로 되어 있다.(탐색기 패널의 데이터 추가 버튼을 통해 공개 데이터셋인 bigquery-public-data 프로젝트를 활용할 수 있다.) 빅쿼리의 데이터 구조: project > data.. 파이썬의 enumerate() 내장 함수로 for 루프 돌리기 많은 프로그래밍 언어들에서 i, j, k와 같은 인덱스(index) 변수를 증가시키면서 for 루프를 돌린다.하지만 파이썬에서는 enumerate()라는 내장 함수를 통해 이러한 인덱스 변수를 사용하지 않고 루프를 돌리는 방식이 선호되며 이런 코딩 스타일을 소위 Pythonic, 즉 파이썬 답다한다. 파이썬의 enumerate() 함수에 대해 알아보자. For 루프먼저 파이썬에서 for 문을 사용해서 루프를 돌리는 가장 기본적인 방법부터 짚고 넘어가보자for in : 에는 리스트(list), 튜플(tuple), 문자열(string), 반복자(iterator), 제너레이터(generator) 등 순회가 가능한 왠만한 모든 데이터 타입을 사용할 수 있다. 에는 흔히 순회 변수(loop variable)라.. [SQL} SELECT 문 정리 (FROM, WHERE, GROUP BY, ORDER BY, JOIN) SQL문의 가장 기본이 되는 구문으로,아래와 같이 이름을 간소화하기 위해 AS를 이용한다.atable as ab table b SELECT 구문SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ][ ORDER BY order_expression [ ASC | DESC ] ] 가장 자주 쓰이는 기본적인 형태는 아래와 같다.SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP .. [Learning Spark] Chapter 4 : 스파크 SQL과 데이터 프레임 : 내장 데이터 소스 소개 이전 장에서 스파크 구조의 진화와 정당성에 대해서 이야기 했고, 특히 스파크 SQL 엔진이 상위 수준의 데이터 프레임과 데이터 세트를 위해 통합된 기반을 제공하는지 알아봤다. 이번 4장에서는 데이터 프레임, 스파크 SQL과 그 둘 간의 상호작용에 대해서 알아본다. 4장과 5장에서는 스파크 SQL이 아래 외부 구성요소들과 어떻게 소통하는지 알아본다. 스파크 SQL 특징- 상위 수준의 정형화 API가 엔진으로 제공- 다양한 정형 데이터를 읽고 쓰기 가능(Json, 하이브 테이블, Parquet, Avro, ORC, CSV)- 태블로(Tableau), 파워BI(Power BI), 탈렌드(Talend)와 같은 외부 비즈니스 인텔리전스의 데이터 소스나 MySQL및 PostgreSQL과 같은 RDBMS의 데이터를 .. [Learning Spark] Databricks 을 통해 notebook 및 cluster 생성 방법 챕터 4를 공부하는 도중에 실습을 하려고 했다.당연히 github 내부에 소스코드와 자료가 다 있을 줄 알고, 호기롭게 들어갔지만,databricks를 사용해야지 소스자료를 확인할 수 있어보였다. 챕터 2, 3은 존재하지만, 4부터 없는것을 확인했다.Welcome to the GitHub repo for Learning Spark 2nd Edition.Chapters 2, 3, 6, and 7 contain stand-alone Spark applications. You can build all the JAR files for each chapter by running the Python script: python build_jars.py. Or you can cd to the chapter direct.. 이전 1 2 3 4 5 ··· 20 다음