在googlebigquery表模式中存储密集向量



我正在创建一个bigquery数据集来存储表示用户的密集向量(由机器学习算法生成(。矢量可以具有任何长度,并且将始终包含float32。

为此构建架构的明智方法是什么?这就是我现在拥有的:

schema = [
bigquery.SchemaField('user_id', 'INTEGER', mode='REQUIRED'),
bigquery.SchemaField('embeddings', 'record', mode='REPEATED', fields=[
bigquery.SchemaField('embedding', 'record', mode='REPEATED', fields=[
bigquery.SchemaField('index', 'INTEGER', mode='REQUIRED'),
bigquery.SchemaField('value', 'FLOAT', mode='REQUIRED')
]),
bigquery.SchemaField('timestamp', 'TIMESTAMP', mode='REQUIRED'),
]),
]

解决方案在这里:如何添加"字符串数组";作为BigQuery 的模式值

在我的python代码中,它看起来像这样:

schema = [
bigquery.SchemaField('user_id', 'INTEGER', mode='REQUIRED'),
bigquery.SchemaField('embeddings', 'record', mode='REPEATED', fields=[
bigquery.SchemaField('embedding', 'FLOAT', mode='REPEATED'),
bigquery.SchemaField('timestamp', 'TIMESTAMP', mode='REQUIRED'),
]),
]

最新更新