首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ORC工具将JSON转换为orc

使用ORC工具将JSON转换为orc
EN

Stack Overflow用户
提问于 2017-04-28 18:03:04
回答 1查看 4.6K关注 0票数 1

我试图使用上面提到的orc tools jar来转换JSON文件

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

我已经在我的pom.xml中导入了这个

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.orc</groupId>
    <artifactId>orc-tools</artifactId>
    <version>1.3.1</version>
</dependency>

但是,导入之后,我无法看到/导入用于从JSON文件推断模式的类org.apache.orc.tools.json.JsonSchemaFinder。

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

我用错罐子了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-02 17:28:33

这将在1.4.0版本的ORC中发布。当前版本1.3.x不包括这些特性。

您仍然可以获得ORC git分支,将org.apache.orc.tools.convert和org.apache.orc.tools.json复制到您的repo中,并使用这些特性。或者,你也可以做一个罐子从兽人回购和使用它。

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43686347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档