写入Google BigQuery
使用 Flux 向 Google BigQuery 写入数据:
导入
sql包。将数据通过管道传递到
sql.to()并提供以下参数:- driverName: bigquery
- dataSourceName: 查看数据源名称
- table: 要写入的表
- batchSize: 每次调用
Exec时可以排队的参数或列的数量(默认为10000)
import "sql"
data
|> sql.to(
driverName: "bigquery",
dataSourceName: "bigquery://projectid/?apiKey=mySuP3r5ecR3tAP1K3y",
table: "exampleTable",
)
BigQuery 数据源名称
bigquery 驱动程序使用以下 DSN 语法(也称为 连接字符串):
bigquery://projectid/?param1=value¶m2=value
bigquery://projectid/location?param1=value¶m2=value
常见的 BigQuery URL 参数
- dataset - BigQuery 数据集 ID。当设置时,您可以在查询中使用未限定的表名。
BigQuery 认证参数
Flux BigQuery 实现使用 Google Cloud Go SDK。
使用以下方法提供您的身份验证凭据:
设置
GOOGLE_APPLICATION_CREDENTIALS环境变量以识别您的凭证 JSON 文件的位置。提供您的 base-64 编码的服务账户、刷新令牌或 JSON 凭证,使用credentials URL 参数在您的 BigQuery 数据源名称中。
示例凭据URL参数
bigquery://projectid/?credentials=eyJ0eXBlIjoiYXV0...
Flux到BigQuery数据类型转换
sql.to() 将 Flux 数据类型转换为 BigQuery 数据类型。
| Flux 数据类型 | BigQuery 数据类型 |
|---|---|
| int | 整型64 |
| 浮点数 | FLOAT64 |
| string | 字符串 |
| 布尔型 | BOOL |
| 时间 | TIMESTAMP |