google-cloud-spanner相关内容

为什么 Google 的 TrueTime API 难以复制?

我不知道为什么媒体普遍说 Google 的 TrueTime API 难以复制(Wired、Slashdot 等). 我可以理解获得 Google 实现的低错误间隔是多么困难,但我不认为 API 本身会非常困难. 例如,我制作了一个 hacked together 版本.这是间隔. typedef struct TT_interval {struct timeval 最早;stru ..

BigQuery 和 Bigtable 有什么区别?

为什么有人会使用 Bigtable 而不是 BigQuery?两者似乎都支持读取和写入操作,后者还提供高级“查询"操作. 我需要开发一个联盟网络(因此我需要跟踪点击次数和“销售额"),所以我对这种差异感到很困惑,因为 BigQuery 似乎只是具有更好 API 的 Bigtable. 解决方案 区别基本上是这样的: BigQuery 是一个查询引擎,适用于不会发生太大变化或通过 ..

将 MutationGroup 流式传输到 Spanner

我正在尝试使用 SpannerIO 将 MutationGroups 流式传输到 spanner 中.目标是每 10 秒编写一次新的 MationGroup,因为我们将使用 spanner 查询近期 KPI. 当我不使用任何窗口时,出现以下错误: 线程“main"中的异常 java.lang.IllegalStateException:GroupByKey 不能在没有触发器的情况下应用于 ..

从 DynamoDB 迁移到 Spanner/BigTable

我有一个用例,我需要将 70 TB 的数据从 DynamoDB 迁移到 BigTable 和 Spanner.具有单个索引的表将转到 BigTable,否则它们将转到 Spanner. 通过将数据导出到 S3 --> GCS --> Spanner/BigTable,我可以轻松处理历史负载.但具有挑战性的部分是处理 DynamoDB 上同时发生的增量流负载.DynamoDB 中有 300 个 ..

从扳手读取的谷歌数据流

我正在尝试从 Google spanner 数据库中读取一个表,并将其写入文本文件以进行备份,使用带有 python sdk 的 google 数据流.我编写了以下脚本: from __future__ import absolute_import导入参数解析导入迭代工具导入日志进口重新导入时间将日期时间导入为 dt导入日志导入 apache_beam 作为梁从 apache_beam.io ..

时间戳转换器在 Spring Data Rest 与 Spanner 中不起作用

我正在尝试在无法工作的 Spring Data Rest 自定义转换器的帮助下将字符串格式的输入时间戳转换为云时间戳.在理解为什么不调用自定义转换器方面需要帮助. 输入:http://localhost:8080/apipromocentral/promotionsRequestBody : {"startDateTime": "2019-11-07 15:53:00"} POJO:@Ap ..

防止交易超时的方法?

我正在运行耗时超过10秒的读写事务,并且它们正在超时(出现 ABORTED 错误).有没有办法指定更长的超时时间? 解决方案 无法指定事务的超时时间,但是有几种选择: 您可以每5-8秒定期发出一次 executeSql 请求使交易保持活力.您可以像这样进行一些琐碎的查询 SELECT 1 .有关闲置交易的更多信息,请此处. 您可以使用只读交易来代替读写事务.只读事务没有超时,并且仅 ..
发布时间:2021-05-12 19:49:11 其他开发

使用参数将数据插入Spanner

我想将变量传递给我的SQL插入语句.Spanner似乎使用以下语法来指定变量@param.如 https://cloud.google.com/spanner/docs/lexical中所述#query-parameters .我是Python的新手,所以我认为我不太了解语法,因为它会引发错误“找不到绑定参数:messageid".相同的代码将使用硬编码值正确执行. 这是我的代码: me ..
发布时间:2021-05-12 19:48:50 Python

如何查询扳手并获取元数据,尤其是列的名称?

我正在尝试在Spanner上查询自定义SQL并将结果转换为Pandas Dataframe,因此我需要数据和列名,但是找不到找到列名的方法. 根据文档,我可以使用元数据获取列或字段属性,但这不起作用. 我尝试运行查询事务并获取快照,但是我只获取了数据行. 从google.cloud导入扳手从google.cloud.spanner_v1.streamed导入StreamedResul ..

PubSub到Spanner流传输管道

我正在尝试将JSON类型的PubSub消息流式传输到扳手数据库,并且insert_update效果很好.Spanner表具有复合主键,因此需要在从PubSub插入新数据之前删除现有数据(因此仅提供最新数据).扳手替换或插入/更新突变在这种情况下不起作用.我添加了管道 导入org.apache.beam.*;公共类PubSubToSpannerPipeline {//JSON转换为TableDat ..

如何批量加载从其他来源生成的自定义Avro数据?

Cloud Spanner文档说Spanner可以导出/导入Avro格式.该路径还可以用于批量摄取从其他来源生成的Avro数据吗?文档似乎建议它只能导入由Spanner生成的Avro数据. 我运行了一个快速导出作业,并查看了生成的文件.清单和架构看起来非常简单.我想我会在这里张贴,以防这个兔子洞很深. 清单文件 ' { "files": [{ "name": " ..
发布时间:2020-11-18 21:07:34 其他开发

在Cloud Spanner中存储UUID

我想使用UUID作为Cloud Spanner中的主键.读写UUID的最佳方法是什么?是否有UUID类型或客户端库支持? 解决方案 最简单的解决方案是将其作为STRING存储在标准 RFC 4122 格式.例如: " d1a0ce61-b9dd-4169-96a8-d0d7789b61d9 " 这将需要37个字节来存储(36个字节加上一个长度字节).如果您确实想保存每个可能的字 ..
发布时间:2020-11-18 20:56:51 其他开发

Google Cloud Spanner是否支持索引交叉点/组合/合并?

有关功能的说明: Postgres(索引组合),MySQL(索引合并)& MongoDB(索引交集)具有一项功能,其中当在 where 子句中具有多个列的给定查询中找不到多列索引时,DB将使用多个单列索引(索引).这是Postgres的文档中有关此功能的内容- https://www .postgresql.org/docs/8.3/indexes-bitmap-scans.html ..
发布时间:2020-11-18 20:42:52 其他开发

如何实现分页?

我有一个People表(Id, first_name, last_name),其中主键是id.我希望能够在(last_name, first_name, Id)排序的表中查找前N个人.在某些情况下,我需要查找下一个N个人,依此类推.我想有效地做到这一点.最好的方法是什么? 解决方案 有两种主要方法: 使用LIMIT和OFFSET 使用LIMIT和上一页密钥 OFFSET策略允 ..
发布时间:2020-11-18 20:42:12 其他开发

主表最简单的主键?

我的主表Users存储有关用户的信息.我计划将UserId字段用作表的主键.我完全可以控制这些键的创建和分配,并且我想确保以能够提供良好性能的方式分配键.我该怎么办? 解决方案 您有一些选择: 1)最通用的解决方案是使用 RFC 4122 中指定的UUID. 例如,您可以具有一个STRING(36),用于存储UUID.或者,您可以将UUID存储为一对INT64或BYTE(16) ..
发布时间:2020-11-18 20:21:03 其他开发

GCP:建立从Spanner到Big Query的定期数据管道的最佳选择是什么

任务:我们必须设置从Spanner到Big Query的定期记录同步.我们的Spanner数据库具有关系表层次结构. 考虑的选项:我正在考虑使用Dataflow模板来设置此数据管道. Option1 :使用数据流模板"Cloud Spanner to Cloud Storage Text"设置一个作业,然后使用数据流模板"Cloud Storage"设置另一个作业 文字到BigQuer ..