반응형
반응형
superset은 무료로 쓸 수 있는 강력한 BI 도구입니다. 이번 글에서는 superset에서 BigQuery의 데이터를 읽어서 쓸 수 있도록 BigQuery를 연결하는 방법을 설명하고자 합니다. superset의 버전은 1.1.0 버전으로 2021.05.18 기준으로 최신으로 설치하였습니다. superset의 가장 상단에 메뉴에 data 부분에 Databases를 클릭하면 다음과 같이 나옵니다. 우측 상단에 + DATABASE 버튼을 클릭하면 새로운 DATABASE를 추가할 수 있습니다. 다른 옵션은 크게 채우지 않고 최소한의 옵션으로 BigQuery를 연결하도록 하겠습니다. DATABASE NAME* : 사용할 DATABASE 명 SQLALCHEMY URL* : URL은 연결할 BigQuery 주소..
여러 가지 형태의 데이터를 bigquery에 넣어서 볼 수 있습니다. 이번 포스트에서는 그중에 하나인 geojson을 bigquery에 업로드하는 방법을 정리하였습니다. 이미 몇몇 블로그에서 geojson 적재하는 방법을 소개하고 있는데요. 안 되는 부분이 많아서 제가 직접 정리하였습니다. 사용된 환경은 MAC입니다. 또한 추가적으로 Python3가 필요합니다. 우선 geojson을 다운로드합니다. ( geojson 샘플 다운로드 ) 아래와 같이 지정하고 Save 부분을 누르면 geojson으로 다운로드 가능합니다. 다운로드한 파일을 bigquery에 넣을 수 있도록 줄 바꿈 형태의 JSON 파일로 만들어야 합니다. 저 같은 경우 jq를 사용하였습니다. 1 brew install jq cs 간단하게 다운..
Hello. Many people seem to know the part of optimizing cost and performance by fetching data without reading unnecessary parts in big queries using partition columns. There are many advantages to using partitioned columns as above, but there may be cases where you cannot. If there are several date columns in the table, the case where the date column to be used is not partitioned is as follows. B..
안녕하세요. big query에서 파티션 컬럼을 사용하여 불필요한 부분을 읽지 않고 데이터를 가져옴으로써 비용과 성능을 최적화하는 부분은 많은 분들이 알고 계실 듯합니다. 위와 같이 파티션 컬럼을 이용할 경우 많은 이점을 가질 수 있지만 그렇게 하지 못하는 경우가 존재할 수 있습니다. 만약에 테이블에 날짜 컬럼이 여러 가지인데, 사용하고자 하는 날짜 컬럼이 파티션 되지 않은 경우가 다음과 같은 경우입니다. big query에서는 일반 RDB처럼 여러 개의 인덱스(파티션 칼럼)를 제공하지 않습니다. 그렇기 때문에 1개의 파티션 칼럼을 통해서 성능을 향상해야 하는데요. 이 경우 매우 난감한 상황이 발생합니다. 기준으로 하는 날짜 컬럼으로 값을 가져올 경우 데이터가 맞지 않는데 성능, 비용 때문에 이를 써야 ..
멱등성이란 DW에서 데이터를 적재 할때 자주 사용 합니다. DW에서 이따금씩 재처리를 하는 경우 기존의 잘못된 데이터를 지우고 재적재 해야 합니다. 그렇지 않으면 데이터의 중복이 발생하여 데이터가 이상하게 증가하거나 결과값이 이상하게 나올 수 있습니다. 그런데 big query에서 제가 겪은 상황에서 멱등성을 고려 하여 프로세스를 구성하였다가 큰 낭패를 본적이 있습니다. 상황은 다음과 같습니다. bucket에 JSON 형태로 쌓이는 데이터가 있습니다. 데이터는 YYYY/MM/DD 형태로 쌓이고 있습니다. 그런데 데이터를 적재할때 2020/02/26 폴더의 데이터에 서버에서 조금씩 지연되서 들어오는 경우 2020-02-27의 데이터가 들어오는 경우가 있습니다. (한개의 파일에 다른 날짜의 데이터가 들어옴)..