我正在尝试使用始终免费层选项运行计算引擎实例。免费层的文档表明,如果它是来自某些位置的 e2-micro 计算机引擎实例,那么它应该是免费的。这是屏幕截图:

现在,我在 us-central1 位置(这是免费层位置之一)选择了具有 10GB 标准永久磁盘(在 GCP 平台中不能低于 10GB)的 e2-micro。它仍然显示每月费用估计为 6.51 美元。这是实例配置的屏幕截图:

我在这里做错了什么吗?我是否需要检查其他选项以确保它保持在始终免费的状态?
我有一张看起来像这样的表:
我正在寻找一个表格,它给出了字段中元素的频率计数l_0, l_1, l_2, l_3。
例如,输出应如下所示:
| author_id | year | l_o.name | l_0.count| l1.name | l1.count | l2.name | l2.count| l3.name | l3.count|
| 2164089123 | 1987 | biology | 3 | botany | 3 | | | | |
| 2595831531 | 1987 | computer science | 2 | simulation | 2 | computer simulation | 2 | mathematical model | 2 |
Run Code Online (Sandbox Code Playgroud)
编辑:
在某些情况下,数组字段可能有不止一种类型的元素。例如l_0可能是 ['biology', 'biology', 'geometry', 'geometry']. 在这种情况下,输出为字段l_0, l_1, l_2, …
我在一个数据集中有大约 108 个表。我正在尝试使用以下 bash 脚本提取所有这些表:
# get list of tables
tables=$(bq ls "$project:$dataset" | awk '{print $1}' | tail +3)
# extract into storage
for table in $tables
do
bq extract --destination_format "NEWLINE_DELIMITED_JSON" --compression "GZIP" "$project:$dataset.$table" "gs://$bucket/$dataset/$table.json.gz"
done
Run Code Online (Sandbox Code Playgroud)
但似乎bq ls一次只能显示大约 50 个表,因此我无法将它们提取到云存储中。
无论如何我可以使用该bq ls命令访问所有 108 个表吗?
我创建了一个表,其中包含一对 ID 和每个 ID 的坐标,以便我可以计算它们之间的成对余弦相似度。
坐标的维度数目前为 128,但它可能会有所不同。但是在同一个表中,一对 ID 的数字维度总是相同的。
coord1和coord2是具有浮点值的重复字段(数组)。
有没有办法计算它们之间的余弦相似度?
我的预期输出将包含三列id1,id2和cosine_similarity。
让我们每行我有一个在说id和两个数组array_1和array_2看起来像以下
SELECT 'a' id, [1,2,3,4,5] array_1, [2,2,2,3,6] array_2 UNION ALL
SELECT 'b', [2,3,4,5,6], [7,7,8,6,9] UNION ALL
SELECT 'c', [], [1,4,5]
Run Code Online (Sandbox Code Playgroud)

我想连接这两个数组,只保留新数组中的唯一元素。我想要的输出如下所示
+----+-----------+-----------+-----------------------------+
| id | array_1 | array_2 | concatenated_array_distinct |
+----+-----------+-----------+-----------------------------+
| a | 1,2,3,4,5 | 2,2,2,3,6 | 1,2,3,4,5,6 |
| b | 2,3,4,5,6 | 7,7,8,6,9 | 2,3,4,5,6,7,8,9 |
| c | | 1,4,5 | 1,4,5 |
+----+-----------+-----------+-----------------------------+
Run Code Online (Sandbox Code Playgroud)
我试图使用array_concat函数,但找不到使用该array_concat函数保留不同元素的方法。
无论如何我可以获得所需的输出?
我有一个看起来像这样的表:
然后我尝试将 label1、label2、label3 聚合到每种类型标签的一个数组中,最后我想将所有非空标签放入一个组合数组中。所以我的查询看起来像这样
#standardSQL
WITH
table AS (
SELECT 'abc' id, 1 label1, 12 label2, 122 label3 UNION ALL
SELECT 'abc', 1, 12, 129 UNION ALL
SELECT 'xyz', 2, 23, NULL UNION ALL
SELECT 'xyz', 2, 24, NULL
),
each_label_agg AS (
SELECT
id,
ARRAY_AGG(label1 IGNORE NULLS) AS label1_agg,
ARRAY_AGG(label2 IGNORE NULLS) AS label2_agg,
ARRAY_AGG(label3 IGNORE NULLS) AS label3_agg
FROM
table
GROUP BY
id)
SELECT
each_label_agg.*,
ARRAY_CONCAT(each_label_agg.label1_agg, each_label_agg.label2_agg,
each_label_agg.label3_agg) AS combined_labels
FROM
each_label_agg
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
但在输出中我combined_labels期望[2,2,23,24]id …