对于具有5-6个数字/浮点/字符串字段以及另外一个具有整数向量的字段的数据集,我们有一个用例,整数向量的范围可以从0到数百或数千个整数。在大多数情况下,整数的值将在1到1000之间,并且一条小的尾巴可能会更大,直到10E6或10E7,但我们愿意在必要时将其丢弃。
在BigQuery中将整数向量与其他5-6个字段一起存储的最佳方法是什么,以便可以成对或多路方式有效地比较向量?例如。在成对的向量(记录)上进行曼惠特尼测试,或者测试一组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()函数在查询时将字符串化数组转换为数组:
How to convert stringified array into array in BigQuery?
我目前正在努力使用bq load
从.csv文件填充表格:
$ num = 11 && bq加载--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.请查看错误流中的
更多细节。
故障详细信息:
-读取数据时出错,错误消息:无法将'count'解析为
从位置0开始的字段计数(位置2)的int值