google-bigquery - 在 Google BigQuery 中存储和比较整数向量的最佳方法?
问题描述
我们有一个数据集的用例,其中包含 5-6 个数字/浮点数/字符串字段,以及另一个具有整数向量的字段,其范围可以从 0 到数百或数千个整数。大多数情况下,整数的值将在 1 到 1000 之间,有一个可以大于 10E6 或 10E7 的小尾巴,但我们愿意在必要时丢弃它们。
在 BigQuery 中存储整数向量以及其他 5-6 个字段的最佳方法是什么,以便可以以成对或多路方式有效地比较向量?例如,对向量对(记录)运行 Mann Whitney 测试,或者测试一组 1000 个向量是否与一组另外 1000 个向量显着不同?我们将为大约 20,000-500,000 个特征的特征集(记录数)运行这些测试。
有任何想法吗?
目前我会选择将它们存储为以下值:
{132,234,641,123,4123,132,34,43,213,123,34,132}
编辑:
经过一番调查,似乎将这些存储为双引号字符串的最佳方法,例如:
"132,234,641,123,4123,132,34,43,213,123,34,132"
然后应用一些预处理和 UNNEST() 函数在查询时将字符串化数组转换为数组:
我目前正在努力使用bq load
.csv 文件填充表格:
$ num=11 && bq load --source_format=CSV insert_size_by_region.insert_size_by_region${num} /tmp/${num}.csv 上传完成。等待 bqjob_r43db3fbe8e450141_0000016717136592_1 ... (0s) 当前状态:DONE
加载操作中的 BigQuery 错误:错误处理作业 'test-project1:bqjob_r43db3fbe8e450141_0000016717136592_1':读取数据时出错,错误消息:CSV 表遇到太多错误,放弃。行数:1;错误: 1. 请查看错误流以获取更多详细信息。失败详细信息: - 读取数据时出错,错误消息:无法将“计数”解析为从位置 0 开始的字段计数(位置 2)的 int
解决方案
推荐阅读
- php - 是否可以在我的 php 代码中使用多卷曲?
- amazon-web-services - AWS - 通过 NAT 网关发送 Internet 流量和私有到另一个 VPC
- angular - Angular 服务从回调函数返回 observable
- reactjs - 如何在单个二进制文件中使用 ReactJS GUI 构建 Go 应用程序?
- ssis - 跨域访问共享文件夹时,SSIS 包无法使用 SQL 作业执行
- excel - 如何引用旧版本的 VBA 库?
- java - 骆驼:ClassCastException:DefaultMessage 无法转换为类 SnmpMessage
- angular - 使用 Firebase 将子集合查询到文档中
- python - 如何将数据从字典检索到表?
- javascript - 这个结构有名字吗?它是否一直被支持?