gpt4 book ai didi

java - 使用 orc-tools 将 JSON 转换为 ORC

转载 作者:行者123 更新时间:2023-11-30 06:45:55 43 4
gpt4 key购买 nike

我正在尝试使用上面提到的 orc 工具 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

我在这里使用了错误的 jar 吗?

最佳答案

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

您仍然可以获得 ORC git 分支,将 org.apache.orc.tools.convert 和 org.apache.orc.tools.json 复制到您的存储库并使用这些功能。或者,您也可以从 ORC 存储库制作一个 jar 并使用它。

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();
}

关于java - 使用 orc-tools 将 JSON 转换为 ORC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43686347/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com