2017-10-06 5 views
1

2 개의 bigquery 테이블을 1GB 이상 가지고 있습니다. Google bigquery는 Google Cloud 스토리지의 여러 객체로 큰 테이블을 내 보냅니다.

https://googlecloudplatform.github.io/google-cloud-php/#/docs/google-cloud/v0.39.2/bigquery/table?method=export

$destinationObject = $storage->bucket('myBucket')->object('tableOutput_*'); 
$job = $table->export($destinationObject); 

나는 와일드 카드를 사용, 저장에 수출합니다.

이상한 것들은 하나의 bigquery 테이블은 3 - 4 MB 크기의 각각 60 개의 파일로 내보내집니다.

다른 테이블은 각각 ​​1GB, 900MB에 가까운 3 개의 파일로 내보내집니다.

코드는 동일합니다. 유일한 차이점은 테이블을 3 개의 파일로 내 보낸 경우입니다. 나는 그들을 하위 폴더에 넣었다.

60 개의 파일로 내 보낸 파일은 하위 폴더의 한 수준 위에 있습니다.

제 질문은 bigquery가 파일을 수십 개의 작은 파일로 나누거나 단지 몇 개의 큰 파일로 분할하는 것입니다 (각 파일이 1GB 미만인 경우).

감사합니다.

+0

추측 해 보면, 테이블이 조각난 방법에 따라 결정될 것이라고 생각합니다. 그러나 @felipehoffa와 같은 Google 직원이 더 많은 빛을 발할 수 있습니다. 그러나 이것은 문제가되어서는 안됩니다. 그렇지? –

+0

음. 문제 일 수 있습니다. 작은 파일로 나누고 싶습니다. 내가 Elasticsearch에 업로드하는 것과 같이 1GB 파일을 처리 할 때 시간 초과 문제가 발생했습니다. – searain

+0

AFAIK, 파일을 얼마나 많이 또는 얼마나 많이 내보냈는지에 대한 제어권이 없습니다. –

답변

2

BigQuery는 내 보낸 파일의 크기를 보장하지 않으며 현재 조정할 방법이 없습니다.