我有一个场景,其中使用Java将作为Json对象存在的消息转换为Apache
Parquet格式。任何示例代码或示例都将有所帮助。据我发现将消息转换为Parquet的内容,正在使用Hive,Pig,Spark。我需要转换为Parquet,而无需Java参与。
要将JSON数据文件转换为Parquet,您需要一些内存表示形式。Parquet没有自己的Java对象集。相反,它重用了其他格式的对象,例如Avro和Thrift。这个想法是,Parquet可以与您的应用程序可能已经使用的对象一起本地工作。
要转换JSON,您需要将记录转换为Avro 内存中对象 并将其传递给Parquet,但是您无需将文件转换为Avro再转换为Parquet。
已经为您完成了到Avro对象的转换,请参见Kite的JsonUtil并准备用作文件读取器。转换方法需要一个Avro模式,但是您可以使用同一库从JSON数据推断一个Avro模式。
要写这些记录,您只需要使用ParquetAvroWriter
。整个设置如下所示:
Schema jsonSchema = JsonUtil.inferSchema(fs.open(source), "RecordName", 20);
try (JSONFileReader<Record> reader = new JSONFileReader<>(
fs.open(source), jsonSchema, Record.class)) {
reader.initialize();
try (ParquetWriter<Record> writer = AvroParquetWriter
.<Record>builder(outputPath)
.withConf(new Configuration)
.withCompressionCodec(CompressionCodecName.SNAPPY)
.withSchema(jsonSchema)
.build()) {
for (Record record : reader) {
writer.write(record);
}
}
}
我有一个以以下格式返回json对象的响应: 我有一个Java类: 我想使用GSON将JSON对象映射到Java对象。 我尝试使用反序列化,它返回了JSON中嵌套值的。
问题内容: 我希望我的JSON看起来像这样: 到目前为止的代码: 和 我只是缺少如何使用Jackson将Java对象转换为JSON的部分: 我的问题是:我的课程正确吗?我必须调用哪个实例,以及如何实现此JSON输出? 问题答案: 要使用Jackson 转换JSON:
问题内容: 使用Marshaller将Java对象转换为XML相当容易。但是我需要单独使用marshaller将Java对象转换为JSON。我知道像使用gson或Xstream这样的东西很好,但是我需要使用Marshaller。如何实现呢? 提前致谢。 问题答案: 注意: 我是 EclipseLink JAXB(MOXy)的 负责人,并且是 JAXB(JSR-222) 专家组的成员, 如果将MOX
我希望我的JSON如下所示: 迄今为止的代码: 和 我只是错过了如何使用Jackson将Java对象转换为JSON的部分: 我的问题是:我的课正确吗?我必须调用哪个实例,以及如何实现这个JSON输出?
早上好 相对来说,我是java新手,正在尝试完成一个项目,但是我遇到了问题。我的程序使用SQL构建一个URL来调用web服务,该服务将返回以下JSON: 我需要做的是在末尾去掉“False”或“True”值,根据其结果执行其他逻辑。 我不断得到以下错误: 这是我在WebCall中构建URL后的代码。java类: 在我的第二节课中,代码如下: 关于可能出错的任何想法?我觉得这可能与JSON响应上的[
有一个网站这样做,但我想要一个图书馆或CLI。 谢了!