使用兽人转换将JSON转换为兽人



我正在尝试使用

上提到的orc工具转换JSON文件

https://orc.apache.org/docs/tools.html#java-orc-tools

我已经在我的pom.xml

中导入了此内容
<dependency>
    <groupId>org.apache.orc</groupId>
    <artifactId>orc-tools</artifactId>
    <version>1.3.1</version>
</dependency>

但是,在导入之后,我无法看到/导入类org.apache.orc.tools.json.json.jsonschemafinder,用于从JSON文件中推断该架构。

在此提交中可以看到使用上类的示例。https://github.com/apache/orc/pull/95/commits/2ee0be7e60e77777774110ba1babfa2a2a8e93f3f

我在这里使用错误的罐子吗?

这是计划在1.4.0版本的ORC中发布的。当前版本1.3.x不包括这些功能。

您仍然可以将ORC GIT分支机构复制,复制org.apache.orc.tools.convert和org.apache.orc.tools.json到您的回购并使用这些功能。另外,您也可以从兽人回购中制作一个罐子并使用它。

public static void main(Configuration conf,
                       String[] args) throws IOException, ParseException {
 CommandLine opts = parseOptions(args);
 TypeDescription schema;
 if (opts.hasOption('s')) {
   schema = TypeDescription.fromString(opts.getOptionValue('s'));
 } else {
   schema = computeSchema(opts.getArgs());
 }
 String outFilename = opts.hasOption('o')
     ? opts.getOptionValue('o') : "output.orc";
 Writer writer = OrcFile.createWriter(new Path(outFilename),
     OrcFile.writerOptions(conf).setSchema(schema));
 VectorizedRowBatch batch = schema.createRowBatch();
 for (String file: opts.getArgs()) {
   System.err.println("Processing " + file);
   RecordReader reader = new JsonReader(new Path(file), schema, conf);
   while (reader.nextBatch(batch)) {
     writer.addRowBatch(batch);
   }
   reader.close();
 }
 writer.close();
}

相关内容

  • 没有找到相关文章

最新更新