SELECT 和 INSERT。需要 Storage Object User IAM role。
这是 s3 表函数 的别名。
如果你的集群中有多个副本,可以改用 s3Cluster 函数 (可与 GCS 配合使用) 来并行执行插入操作。
语法
参数
参数也可以通过命名集合传递。在这种情况下,
url、format、structure、compression_method 的用法相同,并且还支持一些额外参数:
返回值
示例
https://storage.googleapis.com/my-test-bucket-768/data.csv 对应的表中选取前两行:
gzip 压缩方法的文件:
用法
- ‘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:
my-test-bucket-768 目录中递归拉取所有文件:
my-test-bucket 目录下任意文件夹中的所有 test-data.csv.gz 文件获取数据:
分区写入
GCS 表插入数据时指定了 PARTITION BY 表达式,系统会为每个分区值分别创建一个文件。将数据拆分到不同文件中,有助于提升读取操作的效率。
示例
- 在 key 中使用分区 ID 会创建单独的文件:
file_x.csv、file_y.csv 和 file_z.csv。
- 在 存储桶 名称中使用分区 ID,会在不同的 存储桶 中创建文件:
my_bucket_1/file.csv、my_bucket_10/file.csv 和 my_bucket_20/file.csv。