首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于字符串计算的Bigquery或Pyarrow。是否有公布的基准?

用于字符串计算的Bigquery或Pyarrow。是否有公布的基准?
EN

Stack Overflow用户
提问于 2022-03-01 15:57:47
回答 1查看 89关注 0票数 0

我在BigQuery上有数据集,它以Json字符串的形式开始生活.模式是<时间戳,String>,但详细信息作为Json字典隐藏在该字符串中,例如:

代码语言:javascript
复制
2022-01-01 10:11:12.123 UTC, {"DataType1":[46.2], "DataType2":[1002.3],....} 
2022-01-01 10:12:12.123 UTC, {"DataType1":[96.1], "DataType2":[1004.6],....}

作为Google运行的一部分,我需要在几十万张时间戳上提取十几个变量.

有效的方法是使用BigQuery并执行一些JSON_EXTRACT(Data,"$.DataTypeX") As DataTypeX命令,这样我就可以(通过一个中间的Py箭头文件)得到一个Pandas表,该表中充满了像[[46.2],[96.1],...]这样的列,然后我可以执行一个lambda表达式来最终到达[46.2, 96.1,...]。太棒了。但它是最快的吗?

我还尝试在BigQuery上做更多的工作,特别是对于每个变量do CAST(REGEXP_REPLACE(JSON_EXTRACT(Data,"$.DataTypeX"), '[\[\]]', "") AS FLOAT64) As DataTypeX

这让我直接进入Pandas的浮动栏46.2,96.1等等,这是很酷的(现在似乎更快-基准测试)。

因此,我的问题是:我看到Pyarrow也支持String上的regexp表达式。与在BigQuery中执行regexp相比,在中间Pyarrow文件上执行regexp可能有任何效率优势吗?更普遍地说,是否有任何已发布的基准测试来使用Pyarrow进行中间计算,而不是使用BigQuery?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2022-03-06 01:13:50

我不知道已经公布的基准。从您的示例中还不清楚,但是如果最终目标是每种数据类型一列,并且限制为100000行,那么我希望您可以以这样或那样的方式优化这个过程,在bigquery中这样或那样快。Bigquery确实具有非常大的数据集,在这些数据集中,您可以从机器之间自动并行获得很大的好处。对于可以在一台机器上运行的东西,pyarrow将具有竞争力,因为它的核心主要是委托给c++的。如果你的目标是端到端的速度在这里,你可能也想看看烧烤的BI引擎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71311226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档