我试图使用上面提到的orc tools jar来转换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>但是,导入之后,我无法看到/导入用于从JSON文件推断模式的类org.apache.orc.tools.json.JsonSchemaFinder。
在此提交中可以看到使用上述类的示例。https://github.com/apache/orc/pull/95/commits/2ee0be7e60e7ca77f574110ba1babfa2a8e93f3f
我用错罐子了吗?
发布于 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中,并使用这些特性。或者,你也可以做一个罐子从兽人回购和使用它。
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();
}https://stackoverflow.com/questions/43686347
复制相似问题