다양한 방법으로 빅쿼리에 데이터를 로드할 수 있음.
데이터플로우 작업 작성하기
- 지정한 입력 패턴과 일치하는 파일을 모두 읽기
- 그 값을 딕션넌리로 변환
- 딕셔너리를 pull_fields 메소드로 전달
- 해당 메서드가 필요한 데이터를 추출한 후 변형
- 추출한 필드를 갖는 딕셔너리는 빅쿼리에 줄 단위로 전달됨.
아파치 빔을 사용했지만, 스파크를 잘 다룬다면 스파크에서 ETL하고, 하둡에서 실행하는 것도 하나의 대안이 될 수 있음.
온프레미스 데이터를 빅쿼리에 로드하기
온프레미스란?
온프레미스는 기업의 서버를 클라우드와 같이 '가상의 공간'이 아니라, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식입니다. 클라우드 이전에 가장 일반적으로 사용되던 시스템으로 직접 인프라를 구축하는 방식을 뜻합니다.
- bq load 명령어 사용
- 주기적으로 데이터를 업로드 하는 경우가 많으므로, bq load를 자동으로 실행하는 클라우드 펑션을 작성하는 것이 좋음.
- gsutil 명령어 사용
많은 데이터의 경우 -m 사용
- 그 외 다양한 방법이 많음.
요약
- bq load를 사용하면 다양한 데이터를 로드할 수 있음.
- 외부 데이터셋을 올려두고, 구조만 명시한 후 쿼리엔진으로도 사용할 수 있음. 이를 통합 쿼리라고 함.
- 다양한 외부 플랫폼에서 주기적으로 빅쿼리에 데이터를 전송하는 것도 지원함.