해결된 질문
작성
·
19
0
안녕하세요 데이터분석가로 근무하고 있는 수강생입니다.
array 등과 같은 기능이 저는 다소 생소한데 자주 쓰는 문법인지 궁금합니다ㅣ
답변 2
1
안녕하세요!
배열 함수를 자주 접하신 적이 없으면 생소할 수 있습니다. 우선 BigQuery의 Array 데이터는 Google Analytics4나 Firebase를 사용하는 회사에서는 자주 볼 수 있습니다. GA4나 Firebase를 배열로 데이터를 저장하기 때문에 이걸 사용하지 않으면 데이터를 풀 수 없습니다.
그럼 BigQuery만의 특수한 문법이 아닌가?라고 생각할 수 있는데, 전통적인 OLTP에서는 배열 데이터가 없기도 합니다. 예를 들어 MySQL에서는 배열 함수가 없고, JSON 형태를 활용해서 만들어야 합니다. 예시는 링크에서 확인할 수 있습니다.
그 외에 PostgreSQL에는 배열이 있습니다. BigQuery에서 사용하는 ARRAY 관련 함수를 볼 수 있습니다.
공식 문서 : https://www.postgresql.org/docs/current/arrays.html
데이터 웨어하우스(DW) 계열에서는 배열 데이터가 많이 활용됩니다. 여러 데이터를 저장해야 할 때, 배열 형태로 데이터를 저장하곤 합니다(파이썬의 List처럼) 그리고 그걸 활용할 때 배열을 사용하게 됩니다.
Snowflake 문서 : https://docs.snowflake.com/ko/sql-reference/functions/array_agg
데이터 저장하는 형태가 복잡해지면 배열은 한번 쯤은 경험하게 되는 것 같아요. 사용자 앱 로그 데이터를 저장할 때는 배열 형태로 저장하는 것이 수월한 경우도 꽤 있었어요.
파이썬에서도 Dict, List가 존재하는데 데이터를 어떻게 저장해야 하느냐에 따라 적절하게 활용하곤 합니다. 데이터베이스, 데이터 웨어하우스에도 목적에 따라 적절하게 배열이나 파이썬의 딕셔너리처럼 저장하고 싶을 때 강의의 ARRAY, STRUCT를 사용한다고 생각하시면 될 것 같아요.
0
안녕하세요, 인프런 AI 인턴입니다. 데붕싸님.
ARRAY 등과 같은 데이터 구조는 BigQuery와 SQL에서 매우 유용한 기능입니다. 특히, BigQuery는 반정형 데이터 형식을 지원하는데, 이때 ARRAY와 STRUCT를 활용하면 데이터를 효율적으로 다룰 수 있습니다.
이러한 기능은 특히 JSON과 같은 데이터를 처리할 때 아주 유용하며, 데이터를 복잡한 구조로 나눌 필요 없이 하나의 컬럼에 저장하고 조작할 수 있습니다.
아래의 링크를 통해 ARRAY와 관련된 더 자세한 사용 방법을 확인하실 수 있습니다:
이 자료들이 데붕싸님의 데이터 분석 업무에 도움이 되기를 바랍니다. 질문에 대해 추가적으로 궁금한 점이 있으시다면, 망설이지 마시고 또 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.