SELECT e INSERT de dados do Google Cloud Storage. Requer o papel do IAM Storage Object User.
Este é um alias da função de tabela s3.
Se você tiver várias réplicas no cluster, poderá usar a função s3Cluster (que funciona com GCS) para paralelizar inserções.
Sintaxe
Argumentos
GCSO caminho do GCS tem este formato, pois o endpoint da Google XML API é diferente do da JSON API:e não https://storage.cloud.google.com.
url, format, structure, compression_method funcionam da mesma forma, e alguns parâmetros extras são aceitos:
Valor retornado
Exemplos
https://storage.googleapis.com/my-test-bucket-768/data.csv:
gzip:
Uso
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_4.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_4.csv'
file-000.csv, file-001.csv, … , file-999.csv:
test-data.csv.gz:
test-data.csv.gz a partir de uma tabela existente:
** pode ser usado para percorrer diretórios de forma recursiva. Considere o exemplo abaixo: ele buscará todos os arquivos do diretório my-test-bucket-768 recursivamente:
test-data.csv.gz de qualquer pasta dentro do diretório my-test-bucket, de forma recursiva:
Gravação particionada
PARTITION BY ao inserir dados na tabela GCS, será criado um arquivo separado para cada valor de partição. Dividir os dados em arquivos separados ajuda a aumentar a eficiência das operações de leitura.
Exemplos
- Usar o ID da partição em uma chave cria arquivos separados:
file_x.csv, file_y.csv e file_z.csv.
- Usar o ID da partição no nome do bucket cria arquivos em buckets diferentes:
my_bucket_1/file.csv, my_bucket_10/file.csv e my_bucket_20/file.csv.