google-cloud-platform - Spanner 到 CSV 数据流
问题描述
我正在尝试将表从扳手复制到大查询。我创建了两个数据流。一种从扳手复制到文本文件,另一种将文本文件导入bigquery。
表有一个以 JSON 字符串作为值的列。在从文本文件导入到 bigquery 时运行数据流作业时会出现问题。作业抛出以下错误:
INVALD JSON: :1:38 预期 eof 但发现,“602 ...
无论如何我可以在复制时排除此列,或者我可以以任何方式复制 JSON 对象吗?我尝试在架构文件中排除此列,但没有帮助。
谢谢!
解决方案
查看https://cloud.google.com/dataflow/docs/guides/templates/provided-batch#cloud-spanner-to-cloud-storage-text有 BigQuery 导入作业的选项允许跳过列,提取时会跳过列的 Cloud Spanner 选项。
我认为你最好的办法是编写一个自定义处理器来删除列,类似于使用数据流清理 CSV 文件中的数据。
它更复杂,但您也可以尝试 DataPrep:http://cloud/dataprep/docs/html/Drop-Transform_57344635。应该可以将 DataPrep 作业作为 DataFlow 模板运行。
推荐阅读
- python - 我从 Aurelie Geron 的“Hands-On ML”一书的第 10 章复制粘贴代码,但得到完全不同的损失值?
- python - Cellpose安装问题
- javascript - 将 JavaScript 日期转换为 FirebaseFirestore.Timestamp 时出现 Ionic 4 节点模块错误
- java - 我手动编写Nodelist并尝试反转它为什么这里总是出现空指针异常,我试图手动创建ListNode
- javascript - Node.js 错误(无法获取 /api/events/100)(单个获取、发布)SQL Server 2019
- r - 在R中改变小提琴图的点形状
- mongodb - 嵌套 $group 与 $lookup, mongoose
- javascript - 以编程方式删除 jquery ui 选项卡时,我可以重新编号剩余的 id 吗?
- sql - 在 SQL 中打印超过 2 个表
- android - 如何使用 espresso 在 `launchFragment` 范围内测试 android 上的对话框按钮?