我是数据流的新手。我有一个预定义的模式,包含一个名为“device”的非重复记录字段:
device.configId: STRING
device.version: STRING
使用ParDo转换,我尝试插入带有这种字段的TableRow,如下所示:
TableRow row = new TableRow();
row.put("field1", "val1");
TableRow device = new TableRow();
device.put("configId", "conf1");
device.put("version", "1.2.3");
row.put("device", device);
out.output(row);
我记录了表行,它看起来是这样的:
{field1=val1, device={configId=conf1, version=1.2.3}}
我将它输出到一个标准转换:bigQueryIo.write()
但后者发出错误:
java.lang.RuntimeException: java.io.IOException:
Insert failed: [{"errors":[{
"debugInfo":"",
"location":"device.configid",
"message":"This field is not a record.",
"reason":"invalid"
}],"index":0}]
不知道为什么,但请注意lowecase中的位置拼写为“configid”--而不是原始日志中的camel大小写。
对于如何将这样的对象插入BigQuery有什么想法吗?
发现了问题所在。显然,只有当“configid”字段设置为null而不是“conf1”时,才会出现此错误消息。确切地说,它被隐式地设置为来自某个输入对象的JSONObject.null。
问题内容: 这个问题已经在这里有了答案 : 如何在MySQL中“如果不存在则插入”? (10个回答) 7年前关闭。 我有一个mysql表… 我只想添加不在列中的记录。 对于前 我有以下记录要添加到表中 我不想添加,因为它已经在列中。 那么,查询是否有可能先检查记录然后插入? 目前,我正在使用..首先,我先进行记录,然后对其进行匹配,然后再对其进行匹配。 但是,我只想处理一个查询。 问题答案: 您可
我使用JBOSS 5.1.2 MDB来使用放置在队列中的实体消息。消息生成器可以为同一实体生成多条消息。这些消息实体由它们的实体编号定义。(msg_entity_no)只有当实体不存在时,我才必须将记录插入到现有实体表中,否则我必须更新现有记录。现有实体表在此实体号上不唯一,因为它有另一个内部键。ie它包含重复的msg_entity_no 我遇到的问题是,当产生多个消息时,实体表中同时存在多个MD
如何避免在PHP MYSQLi中插入重复记录?这是我的剧本:
我有一个名为“user_links”的PostgreSQL数据库表,该表当前允许以下重复字段: 唯一约束当前是第一个名为“id”的字段,但是我现在希望添加一个约束,以确保、、和都是唯一的,但我无法应用约束,因为已经存在违反此约束的重复值。 有没有找到所有重复的方法?
问题内容: 设想 我需要每天通过电子表格(唯一可用的选项)更新SQL 2008数据库。该格式非常基本,但是可能有数百万条记录。Column1和Column3将具有许多预定义的重复值,这些值已经提取到单独的表中。 电子表格样本 数据库设置 我的数据库设置了三个单独的表: 问题 如何编写SQL来插入与查找表中的信息匹配的记录?我该怎么办: 对此: 问题答案: 您可以尝试这样的事情: 没有任何容错功能,
我正在使用mssql。插入记录后,我想获取数据的id。但我不知道该怎么做。我的代码如下。请给我答案。 Insert工作正常,但控制台日志[未定义]。。。。 这是表的ddl 在GO上设置ANSI\U NULL,在GO上设置QUOTED\U IDENTIFIER。[特征]( [id]nvarchar NOT NULL CONSTRAINT[DF\u Feature\u id]DEFAULT(CONVE