首页 > 解决方案 > 在 Google BigQuery 中为比特币提取矿工数据

问题描述

我正在尝试提取比特币 Google BigQuery 数据集中的矿工数据。

矿工数据是输出交易中的第一个索引。它应该是 of 的第一个索引,addressesoutputs下面的文档所示:https ://www.kaggle.com/bigquery/bitcoin-blockchain?select=outputs

我已经编写了一个 SQL 查询来尝试提取它,但它似乎在 Google BigQuery 上出错了Response too large to return. Consider setting allowLargeResults to true in your job configuration.

我不确定这是否是我的 SQL 查询的问题,但我将其粘贴在下面:

select array_to_string(outputs.addresses,',') as address,
       t.block_number,
       t.block_timestamp,
       t.block_hash,
       outputs.index from bigquery-public-data.crypto_bitcoin.transactions t join unnest(outputs) as outputs
where outputs.index = 0
order by block_number asc

我试图指定只有当索引为 0 时,我们才能获得 output.addresses 中的第一个地址,这是一个我们可以保存为“矿工”的变量。我只是不知道我的方法是否正确,或者是否有更好的方法在 SQL 中执行此操作。

希望对此给予一些指导。

标签: sqlgoogle-cloud-platformgoogle-bigquery

解决方案


只需使用目标表,这样您的查询结果(尽管不要忘记删除 ORDER BY)将存储在表中,然后您就可以进一步查询。

或者你可以使用INSERT INTO ... AS方法


推荐阅读