Vik*_*ari 3 python google-bigquery google-cloud-platform
我想将字符串值数组存储在BigQuery的单个列中。为此,我需要先创建一个具有适当架构的表。用于阵列的模式标识符是ARRAY<T>其中T的数据类型。
例如:T用INT64as 替换ARRAY<INT64>可在该列中存储64位整数数组。除了存储字符串值,我应该如何获得相同的效果?我已经尝试过STRING,VARCHAR和CHAR。
只需提及:我正在使用最新的google-cloudpython包
为了添加具有数组数据的列,您需要将该列的模式定义为REPEATED。因此,示例模式最终为:
{
'name': 'array_of_strings',
'type': 'STRING',
'mode': 'REPEATED'
},{
'name': 'array_of_floats',
'type': 'FLOAT',
'mode': 'REPEATED'
}
Run Code Online (Sandbox Code Playgroud)
这使字段保留数组值。
注意:请注意,如果这是表的架构,则不能使用大查询的CSV导入功能,因为这是CSV文件格式的限制。您将需要使用json或avro格式。
为此,我需要首先创建一个具有正确架构的表。
只需在 Web UI 中使用新的目标表运行即可 - 创建所需的架构
#standardSQL
SELECT ARRAY<STRING>[] AS array_of_strings
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2384 次 |
| 最近记录: |