빅쿼리 내에 결과 저장을 통한 csv (로컬 파일) 다운로드는 최대 10mb 까지 가능하다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/029.gif)
그런데, 다른 팀에서 약 1GB가 넘는 raw 데이터를 보내달라고한다... 퇴근해야하는데.. 어떡하지?
Google Drive로 보낸다면 1GB까지 저장이 가능하지만, 이걸로 커버쳐지지 않는다.
이럴 때, GCS 버킷을 활용해서 데이터를 저장하면 된다. (우리 짱 멋진 팀장님이 알려주셨다.)
0.데이터를 내보내는 권한 필요
| BigQuery 테이블에서 데이터를 내보내는 권한
BigQuery 테이블에서 데이터를 내보내려면 bigquery.tables.export IAM 권한이 필요합니다.
사전 정의된 다음 각 IAM 역할에는 bigquery.tables.export 권한이 포함되어 있습니다.
- roles/bigquery.dataViewer
- roles/bigquery.dataOwner
- roles/bigquery.dataEditor
- roles/bigquery.admin
| 내보내기 작업을 실행할 수 있는 권한
내보내기 작업을 실행하려면 bigquery.jobs.create IAM 권한이 필요합니다.
다음과 같은 사전 정의된 각 IAM 역할에는 내보내기 작업을 실행하는 데 필요한 권한이 포함되어 있습니다.
- roles/bigquery.user
- roles/bigquery.jobUser
- roles/bigquery.admin
| 데이터를 Cloud Storage 버킷에 쓸 수 있는 권한
데이터를 기존 Cloud Storage 버킷에 쓰려면 다음과 같은 IAM 권한이 필요합니다.
- storage.objects.create
- storage.objects.delete
다음과 같은 사전 정의된 각 IAM 역할에는 기존 Cloud Storage 버킷에 데이터를 쓰는 데 필요한 권한이 포함되어 있습니다.
- roles/storage.objectAdmin
- roles/storage.admin
참고해서, 권한을 설정해주도록 한다.
1.데이터를 GCS로 EXPORT
EXPORT DATA
OPTIONS (
uri = 'gs://버킷 이름/*.csv', --여기가 제일 중요하다, 반드시 와일드카드를 사용해주어야함
format = 'CSV',
overwrite = true,
header = true)
AS (
-- INSERT QUERY
);
지원 포맷은 아래와 같이 참고
2.GCS에 접속하여 파일 다운로드
대용량 데이터는 GCS로 저장되면서 알아서 분할된다.
끝..!!!!!????? 이긴 하다. 그런데, 이렇게 window 기준 GCS에서 csv를 다운 받으니 한글이 깨져서 나온다. 이럴 때 인코딩 변환이 필요하다. (mac은 잘 모르겠다..)
3.csv 한글 깨짐 방지 인코딩
방법은 여러가지다. GUI 프로그램을 이용해도 되고 파워셀을 써도 되고 등등...
여기에는 제일 쉬운 방법을 적어놨다.아래 블로그를 참고하면 해당 작업을 반복적으로 했을 때 좀 더 수월해지는 방법들이 적혀져 있으니 참고하면 된다!
https://jjangfree.tistory.com/2168
1) 다운로드 파일 오른쪽 마우스 -> 연결 프로그램 -> 메모장
2) 파일 -> 다른 이름으로 저장 -> 인코딩을 ANSI로 변경한 후 파일 이름을 파일명.csv로 변경
'데이터베이스 > 데이터베이스' 카테고리의 다른 글
[SSMS] SQL Server Management Studio 에서 CSV로 테이블 만들기 (0) | 2024.07.01 |
---|---|
[Lock] MSSQL의 Lock과 트랜잭션 격리 개념 (1) | 2023.12.28 |
[ SQL Server] SQL Server Agent를 이용해 Daily Job을 생성해보자 (0) | 2023.12.12 |
[Bigquery] 파티션 테이블 (Partition Table) (0) | 2023.08.31 |
[Bigquery] 퇴근시간을 땡겨주는 빅쿼리 단축키 모음 (0) | 2023.08.24 |
댓글