我试图在大查询中加载嵌套的json数据。
这是我正在使用的数据和模式...
scehma -
[{“名称”:“种类”、“类型”:“字符串”}、{“名称”:“全名”、“类型”:“字符串”}、{“名称”:“年龄”、“类型”:“整数”}、{“名称”:“居住的城市”、“类型”:“记录”、“字段”:[{“名称”:“地点”、“类型”:“字符串”}、{“名称”:“年数”、“类型”:“整数”}]}]
资料--
{“kind”: “person”, “fullName”: “John Doe”, “age”: 22, “citiesLived”: [{ “place”: “Seattle”, “numberOfYears”: 5}, {“place”: “Stockholm”, “numberOfYears”: 6}]} {“kind”: “person”, “fullName”: “Jane Austen”, “age”: 24, “citiesLived”: [{“place”: “Los Angeles”, “numberOfYears”: 2}, {“place”: “Tokyo”, “numberOfYears”: 2}]}
try {
bigquery.datasets().insert(PROJECT_ID, dataset).execute();
} catch (IOException e) {
System.out.println(e);
}
// Set where you are importing from (i.e. the Google Cloud Storage paths).
List<String> sources = new ArrayList<String>();
sources.add("gs://gc_data/json_test_new_flat.json");
loadConfig.setSourceUris(sources);
loadConfig.setSourceFormat("NEWLINE_DELIMITED_JSON");
//loadConfig.setFieldDelimiter("\n");
// Describe the resulting table you are importing to:
TableReference tableRef = new TableReference();
tableRef.setDatasetId("myDataset");
tableRef.setTableId("myTableJSONNew");
tableRef.setProjectId(projectId);
loadConfig.setDestinationTable(tableRef);
List<TableFieldSchema> fields = new ArrayList<TableFieldSchema>();
TableFieldSchema fieldKind = new TableFieldSchema();
fieldKind.setName("kind");
fieldKind.setType("STRING");
TableFieldSchema fieldFullName = new TableFieldSchema();
fieldFullName.setName("fullName");
fieldFullName.setType("STRING");
TableFieldSchema fieldAge = new TableFieldSchema();
fieldAge.setName("age");
fieldAge.setType("INTEGER");
TableFieldSchema fieldJSON = new TableFieldSchema();
fieldJSON.setName("citiesLived");
fieldJSON.setType("RECORD");
// this is for record
List<TableFieldSchema> listOfJSonSchema = new ArrayList<TableFieldSchema>();
TableFieldSchema fieldPlace = new TableFieldSchema();
fieldPlace.setName("place");
fieldPlace.setType("STRING");
TableFieldSchema fieldnumberOfYears = new TableFieldSchema();
fieldnumberOfYears.setName("numberOfYears");
fieldnumberOfYears.setType("INTEGER");
listOfJSonSchema.add(fieldPlace);
listOfJSonSchema.add(fieldnumberOfYears);
//
fieldJSON.setFields(listOfJSonSchema);
fields.add(fieldKind);
fields.add(fieldFullName);
fields.add(fieldAge);
fields.add(fieldJSON);
TableSchema schema = new TableSchema();
schema.setFields(fields); // This is to set delimiter
loadConfig.setSchema(schema);
Insert insert = bigquery.jobs().insert(projectId, job);
insert.setProjectId(projectId);
JobReference jobRef = insert.execute().getJobReference();
System.out.println(jobRef.toPrettyString());
您已经定义了citiesLive记录,但看起来您还没有指示该记录是可重复的,这就是您的示例数据所指示的。尝试在citiesLive字段上使用setMode(“REPEATED”)。
我这里有一个很长的json:https://textup.fr/601885q4我想读一个“支付令牌合同”中的数据,特别是那些带有“id”的数据:1我的问题是,我不知道如何称呼特定的词汇,因为它们都有相同的名称。这是否可能,我还不习惯操作如此复杂的对象,因为我是初学者。我会尝试像:[“订单][x][“id”:1][“基本价格”]这样的东西,x是一个for循环,循环遍历每个“订单”显示。但是我无法将
问题内容: 我想出了一些可行的方法,但并非完全符合我的期望。这是我的解决方案: attribute_category_map是一个具有两列的表,我在其中查找第1列中的对应值,并用第2列中的值替换目标表中的数据。我实现的最佳结果- 用相同的值更新了一行中的所有嵌套字段,这仅适用于第一个嵌套字段,而不是使用特定值更新每个嵌套字段。 主表的简化架构: 会话行中通常有多个匹配项,一个匹配项中通常包含多个产
问题内容: 我有以下的Java代码: 下一行工作正常时,为什么这里的工作不正常? 问题答案: 使用(无论嵌套类是否为静态)
问题内容: 我有一个从数据库(JSON MySQL中的数据存储)检索数据的程序。 我设法得到对象。输出为: JSON对象: 我需要有关如何处理数据并将信息放入不同数组/对象的建议。例如 谢谢。 问题答案: 您可以使用Jackson Api来实现。 您必须创建与json对象相同的Pojo类(该类应具有“ attributes”,“ uuid”之类的成员)。 这是您必须使用的类 和代码 现在,您可以使
你一定看过下面的功能(在facebook上),一个有一些评论的帖子,每个评论都有一个类似的计数器。 https://img4.hostingpics.net/pics/67853820170616003640LaravelNewsAccueil.png 在拉雷维尔,这将是类似的 帖子有很多评论 以下评论发布 类似于用户的评论 CommentLike belong评论 评论有很多类似的评论 所以,现
下面是一些示例代码: On doing JSONObject innerObj = (JSONObject) obj.get(“root1”);- 它给出: 线程“main”中出现异常Java . lang . classcastexception:Java . lang . string不能转换为org.json.JSONObject 我尝试了Gson、JSONParser-但仍然无法做到...