2016-09-01 2 views
1

누구든지 큰 쿼리에서 파티션 테이블을 만드는 방법을 제안 할 수 있습니까? 예 : 2016 년 Google 저장 용량에 로그 데이터가 하나 있다고 가정합니다. 모든 데이터를 년, 월, 날짜별로 분할 된 하나의 버킷에 저장했습니다. 여기에 날짜별로 분할 된 테이블 만들기를 원합니다. 당신은
테이블 생성 방법 Load Data from Cloud Storage큰 쿼리에서 파티션 테이블 만들기

후에 대한 자세한 내용을 참조하십시오 YourLogs_YYYYMMDD 같은 이름을 가진 별도의 각각의 테이블에 각각 매일 파일을로드 할 수 있습니다

옵션 1
: 사전에 덕분에

답변

1

문서는 여기 쉽게 할 수 있습니다 이 경우 https://cloud.google.com/bigquery/docs/creating-partitioned-tables

, 당신이 partiti을 만들 것 oned 테이블을 만들고 파티션으로 데이터를 채 웁니다. GCS에서 읽고 (특정 날짜의 데이터를 필터링하는) 쿼리 작업을 실행하고 테이블의 해당 파티션에 씁니다. 예를 들어 2016 년 5 월 1 일에 데이터를로드하려면 destination_table을 $ 20160501 테이블로 지정합니다.

현재이 프로세스를 수행하려면 여러 쿼리 작업을 실행해야합니다. 처리 된 바이트를 기준으로 각 쿼리 작업에 대한 요금이 부과됩니다.

좀 더 자세한 내용은이 기사를 참조하십시오

Migrating from non-partitioned to Partitioned tables

+0

답장을 보내 주셔서 감사합니다.일반적으로 Big Data에서 작업하는 동안 날짜별로 분할 된 외부 테이블을 만들 수있는 옵션이 있습니다 ("year int, month string, date int로 분할 된 테이블 foo (abc int) 만들기"). 그런 다음 "2016,"May ","01 ")" "파티션을 추가하십시오. 그러면 테이블에서"select * from table = year 2016 and month = "May"and date = 01 "로 쿼리 할 수 ​​있습니다. 하나의 테이블로 우리는 여러 파티션을 만들 수 있습니다. 큰 쿼리에서 나는 거기에 어떤 옵션이 있는지 검색하고있었습니다. 샘플 테이블 생성을 제발 주실 수 있다면 고마워요. –

+0

채우는 작업과는 별도로 테이블을 만들어야 할 것입니다 파티션 만들기. 테이블 만들기에 대한 자세한 내용은 여기를 참조하십시오. https://cloud.google.com/bigquery/docs/creating-partitioned-tables#creating_a_partitioned_table –

+0

1 년 내역 데이터가 있으면 356 개의 테이블을 만드는 것으로 가정합니다. ?? –

1

두 가지 옵션이 있습니다 Table wildcard functions (레거시 SQL)을 사용하거나 Wildcard Table (Standar SQL)을 사용하여 액세스 할 수 있습니다. 더 많은 예제

옵션 2
당신은 Date-Partitioned Table (- YourLogs을 하나 개의 테이블) - 만들 수 있습니다에 대해서도 Querying Multiple Tables Using a Wildcard Table를 참조하지만 당신은 여전히 ​​각각의 파티션에 각각 매일 파일을로드해야합니다 - 테이블이로드 된 후 Creating and Updating Date-Partitioned Tables

참조 당신은 분할 된 테이블에 대한 Query Date-Partitioned Tables

+0

감사합니다. Mikhil, 한 가지 예를 들어 주시겠습니까? –

+1

링크에서 많은 예제를 찾을 수 있습니다. 그때 특정 질문을 시도해보십시오 - 그렇지 않으면 너무 광범위합니다 !! –

+0

gs의 단일 버킷에 1 년 내역 데이터가 있습니다. 날짜에 저장된 데이터입니다. 큰 쿼리 웹 UI에서 날짜별로 분할 된 테이블을 만들고 싶습니다. 나는 정상적인 테이블을 만들 수 있지만 쿼리하는 동안 모든 데이터를 처리합니다. 그래서 여기에 특정 날짜 범위를 처리하고 싶습니다. 어떻게 파티션 테이블을 업데이트 할 수 있습니다. 파티션 테이블과 동일한 기본 테이블입니까, 아니면 파티션이있는 새 테이블을 만들겠습니까? 날짜 범위 파티션으로 파티션 테이블을 업데이트하는 방법은 무엇입니까? 이것 좀 도와주세요? 미리 감사드립니다. –

1

갖는 파티션을 외부 테이블에 대한이 지금과 같이 사용할 수 없습니다. 이에 대한 기능 요청이 있습니다 : https://issuetracker.google.com/issues/62993684

(당신이에 관심이 있다면 그것을 위해 투표하십시오!)

구글은 그들이 그것을 고려하고 있다고 말한다.