ObjectRef로 이미지/PDF 등 비정형 데이터를 SQL에서 처리하기
요약
본 글은 BigQuery SQL에서 ObjectRef를 사용하여 이미지, PDF 등 비정형 데이터를 직접 참조하고 처리하는 방법을 설명합니다. 이를 통해 텍스트가 아닌 파일 형태의 데이터도 AI 함수(AI.CLASSIFY, AI.GENERATE_TABLE)에 입력하여 분석 및 구조화할 수 있습니다.
핵심 포인트
- ObjectRef는 GCS 파일을 BigQuery SQL에서 참조하는 타입입니다.
- 이미지/PDF 등 비정형 데이터를 AI 함수에 직접 전달할 수 있습니다.
- AI.GENERATE_TABLE을 사용해 PDF 내용을 구조화된 테이블로 변환 가능합니다.
- 대용량 파일 처리를 위해 비용 관리 및 샘플링 설계가 중요합니다.
서론
시리즈의 15번째 글입니다.
지난번(제14회)에서는 AI.FORECAST와 TimesFM을 사용한 학습 불필요 시계열 예측을 설명했습니다. 이번에는 ObjectRef를 다룹니다.
지금까지 시리즈에서 다룬 AI.GENERATE나 AI.CLASSIFY 같은 AI 함수들은 텍스트나 숫자를 입력으로 받았습니다. 하지만 EC 사이트에서는 상품 이미지, PDF 카탈로그, 문의 첨부 파일 등 텍스트가 아닌 비정형 데이터가 대량으로 존재합니다. ObjectRef는 이러한 파일을 BigQuery SQL 내에서 직접 참조하여 AI 함수에 전달할 수 있게 해주는 메커니즘입니다.
ObjectRef란?
ObjectRef는 Cloud Storage (GCS) 상의 파일을 BigQuery SQL에서 참조하기 위한 타입입니다. 이미지(JPEG・PNG・WebP)・PDF・음성 파일 등을 STRUCT 타입으로 감싸서 AI 함수에 전달할 수 있게 합니다.
ObjectRef의 기본 구조
STRUCT(
'gs://your-bucket/path/to/file.jpg' AS uri,
'image/jpeg' AS content_type
...
| 필드 | 설명 |
|---|---|
uri | GCS의 URI (gs://로 시작) |
content_type | MIME 타입 (image/jpeg ・application/pdf 등) |
사전 준비: Cloud Resource Connection 생성
ObjectRef를 사용하는 AI 함수 실행에는 Cloud Resource Connection이 필요합니다. 제2회에서 설정한 연결을 그대로 이용할 수 있습니다.
CREATE OR REPLACE MODEL `your-project.ai_lab.gemini_model`
REMOTE WITH CONNECTION `your-project.asia-northeast1.vertex-ai-conn`
OPTIONS (
...
또한, BigQuery 서비스 계정에 GCS 버킷에 대한 roles/storage.objectViewer 권한을 부여해 두어야 합니다.
SQL로 상품 이미지 분석하기
이미지 내용을 텍스트로 설명하게 하기
SELECT
product_id,
image_uri,
...
상품 카테고리를 자동 분류하기
SELECT
product_id,
image_uri,
...
AI.CLASSIFY에 ObjectRef를 전달함으로써, 텍스트 설명 없이도 이미지로부터 직접 분류할 수 있습니다.
SQL로 PDF 분석하기
PDF 카탈로그에서 텍스트 추출하기
구매처 카탈로그나 규약 PDF를 그대로 분석하는 예시입니다.
SELECT
document_id,
document_uri,
...
AI.GENERATE_TABLE로 PDF를 구조화 테이블로 변환하기
AI.GENERATE_TABLE을 사용하면 PDF의 내용을 직접 구조화 데이터로 변환할 수 있습니다.
SELECT *
FROM
AI.GENERATE_TABLE(
...
제6회(AI.GENERATE_TABLE)에서 설명한 구조화 변환을 비정형 파일에도 적용할 수 있습니다.
상품 이미지와 GA4 행동 데이터 결합하기
상품 이미지의 특징과 구매 행동을 결합하여,
명령어(コマンド)를 사용하여 GCS의 객체 목록을 주기적으로 동기화하는 방법도 효과적입니다.
비용 관리
ObjectRef를 포함한 AI 함수 호출은 이미지 및 PDF의 토큰 환산 비용이 추가됩니다.
| 대책 | 방법 |
|---|---|
| 처리 대상 좁히기 | 모든 상품이 아닌 신규 추가/업데이트 건만 처리하기 |
| ... | |
| 상품 이미지 수천 점을 일괄 처리하는 경우, 사전에 샘플 10~20건으로 비용을 시산하고 월간 처리에 반영하는 설계를 권장합니다. |
요약
ObjectRef는 GCS 상의 이미지/PDF 등을 BigQuery SQL에서 직접 참조할 수 있는 메커니즘입니다. -
STRUCT(uri AS uri, content_type AS content_type)형식으로 AI 함수에 전달하며 -
AI.GENERATE,AI.CLASSIFY,AI.GENERATE_TABLE등과 결합하여 비정형 데이터를 구조화/분류할 수 있습니다. - GA4의 구매 행동 데이터와 결합함으로써 '어떤 상품 이미지가 CVR에 기여하는가'를 정량적으로 분석할 수 있습니다.- 비용은 파일 크기와 토큰수에 비례하므로, 처리 대상 좁히기 및 캐시 설계가 중요합니다.
다음 회차(제16회)에서는 SQL 내 프롬프트 설계의 요령 — AI 함수의 출력을 안정화시키는 작성법을 설명하겠습니다.
참고
- Work with unstructured data using BigQuery ObjectRef | Google Cloud
- AI.GENERATE function | BigQuery | Google Cloud Documentation
- Query unstructured data with AI functions | Google Cloud
코코나라(ココナラ)를 통한 의뢰는 여기 → GA4×BigQuery 기반 구축 서비스
토론

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기