이번 글은 빅쿼리의 Struct 에 대해 정리해보도록 하겠습니다.
https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#struct_type
Struct 은 빅쿼리 UI 상에서는 Record 라고 표현됩니다.
이렇게 유형이 'Record'인 항목들은 공통점이 하나 있는데요,
바로 쿼리 결과를 봤을 때, 열의 이름이 aaa.bbb 형식이란 점 입니다.
간단하게 보자면 struct 구조를 통해 전체 테이블 안에 있는 특정
열들이
한 묶음으로 구분될 수 있게 됩니다.
Struct 을 만들 수 있는 방법은 여러가지가 있습니다.
SELECT ('육식동물','초식동물','잡식동물') animal
SELECT STRUCT<STRING, INT64,STRING>('정뿌시',26,'직장인') PERSONAL_INFORMATION
아래처럼 TYPE 앞에서 각 열들에 대한 이름을 정의해줄 수 있습니다.
추가로, ARRAY 와 STRUCT
은 혼합하여서도 사용이 가능합니다.
그 중 ARRRAY 안에
STRUCT 있는 형태는
ARRAY (SELECT AS STRUCT ~ ) 으로 쓸 수 있습니다.
이렇게 ARRAY 안에 STRUCT
이 3개 존재하는 거죠.
SELECT
ARRAY (
SELECT AS STRUCT '정뿌시' AS NAME ,26 AS AGE ,'컨설턴트' AS JOB
UNION ALL
SELECT AS STRUCT '이요니' AS NAME ,26 AS AGE ,'공무원' AS JOB
UNION ALL
SELECT AS STRUCT '오현디' AS NAME ,26 AS AGE ,'방송PD' AS JOB
) AS `GROUP1_INFO`
정리하면,
STRUCT 은 빅쿼리의
RECORD 유형으로
테이블 안에서 또 다른 테이블을 구성하는 것과 유사하다고 이해할 수 있다. (개념상)
ARRAY 가 대괄호였다면
STRUCT은 소괄호로 만들 수 있고,
ARRAY 안에도 STRUCT 을
만들 수 있다.
로 정리하겠습니다.
그럼 오늘 글은 여기에서 마치겠습니다 :)
소통할 부분 있다면 언제든 댓글 남겨주세요.
감사합니다!
GA4에서는 UA와 달리 360버전이 아니더라도 BigQuery를 연동할 수 있습니다. 또한 GA4만으로 Looker Studio등을 사용해 대시보드를 만들었을 때 여러 제한 사항이 있습니다. 그러다보니 BigQuery의 사용량이 자연스럽게 많아진 상태인데요 이 때 가장 큰 문제가 GA4 BigQuery와 GA4 콘솔간의 세션 수 차이입니다. UA때는 GA와 BigQuery의 세션 숫자가 정확하게 맞아 떨어졌던 반면 GA4에서는 세션 수가 무조건 차이가 발생하는 상태인데요 그 이유에 대해 알아보겠습니다. 결론부터 말하자면 GA4 BigQuery가 더 정확한 데이터입니다. GA4의 세션 수를 계산할 때 정확한 세션수를 계산하기 위한 충분한 시간과 리소스가 없기 때문에 더 효율적인 계산 방법(HyperLogLog++ 알고리즘 등)을 적용하여 세션 수를 계산합니다. 하지만 GA4 BigQuery는 테이블이 만들어지기까지 충분한 시간과 리소스가 있기 때문에 더 정확한 값이 집계됩니다. 자세한 내용은 다음 링크를 확인해주세요 -> 링크
사용자는 다양한 기기와 브라우저를 교차 사용하며 웹사이트 방문하는 경우가 많습니다. 예를 들어 출근 길에 제품 검색을 통해 앱에 방문하고, 점심시간 회사에서 컴퓨터를 사용하여 제품에 대해 자세히 조사하며, 퇴근 후 집에서 핸드폰으로 구매합니다. 이러한 각 활동은 별도의 세션으로 구분되지만, GA4에서는 사용자 여정을 통합하여 하나의 사용자로 측정할 수 있습니다. GA4가 사용자를 식별하는 방법은 크게 4가지로 나뉩니다. 1. 유저 ID 유저 ID는 특정 사용자를 식별할 수 있는 고유 식별자입니다. 유저 ID를 통해 여러 기기나 브라우저에서 활동한 사용자를 동일인임을 식별할 수 있고, 이러한 활동들을 통합하여 하나의 사용자 여정으로 확인할 수 있도록 해줍니다. 쉽게 말해 같은 유저 ID로 로그인된 상태에서 아이폰-앱, 웹-크롬, 아이폰-사파리를 사용해 방문하였다면, 유저 ID를 통해 한 명의 사용자 행동으로 식별할 수 있다는 것입니다. 이때 유저 ID는 개인정보보호를 위해 개인을 식별할 수 없도록 암호화된 ID를 활용합니다. 2. 구글 신호 데이터 구글 신호 데이터는 구글이 직접 수집하는 사용자의 활동 데이터입니다. 광고 개인 최적화에 동의하고 구글 ID로 로그인된 상태에서 여러 기기나 브라우저로 크롬, 유튜브 같은 구글 서비스를 사용할 때 검색 내용, 방문한 웹사이트, 시청한 동영상 등의 활동 정보를 구글 계정에 저장하여 사용자를 식별합니다. 만약 핸드폰, 태블릿, 데스크톱 모두 같은 구글 ID로 로그인 되어 활동하였다면, GA4에서는 1명의 사용자로 인식합니다. 구글 신호 데이터를 통해 인구통계, 관심분야에 대한 데이터를 얻을 수 있지만, 익명으로 수집되기 때문에 특정 사용자가 어떤 식별자를 가졌는지 확인이 불가능하며, iOS 14 이상 버전의 기기는 지원하지 않습니다. 3. 기기 ID(=CID) 기기 ID는 브라우저/기기 별로 부여되는 쿠키값입니다. 웹의 경우 클라이언트 ID, 앱의 경우 앱 인스턴스 ID로 구분됩니다. 일반적으로 G
전체댓글0