开发者社区> 问答> 正文

OrcTableSource是否支持S3文件系统?

flink小助手 2018-12-13 14:18:38 572

我使用OrcTableSource从云对象存储(IBM COS)获取Orc文件时遇到了一些麻烦,代码片段如下所示:

OrcTableSource soORCTableSource = OrcTableSource.builder() // path to ORC

.path("s3://orders/so.orc") // s3://orders/so.csv
// schema of ORC files
.forOrcSchema(OrderHeaderORCSchema)
.withConfiguration(orcconfig)
.build();

似乎这条道路不正确

引起:java.io.FileNotFoundException:org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:611)org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem)中不存在文件/so.orc .java:824)org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:601)位于org.apache.hadoop的org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:428)。 fs.ChecksumFileSystem $ ChecksumFSInputChecker。(ChecksumFileSystem.java:142)org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:346)org.apache.hadoop.fs.FileSystem.open(FileSystem.java:768) )org.apache.orc.impl.ReaderImpl.extractFileTail(ReaderImpl.java:528)位于org.apache的org.apache.orc.impl.ReaderImpl。(ReaderImpl.java:370)。orc.OacheFile.createReader(OrcFile.java:342)org.apache.flink.orc.OrcRowInputFormat.open(OrcRowInputFormat.java:225)org.apache.flink.orc.OrcRowInputFormat.open(OrcRowInputFormat.java:63) at org.apache.flink.runtime.operators.DataSourceTask.invoke(DataSourceTask.java:170)at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711)at java.lang.Thread.run (Thread.java:748)

顺便说一句,我已经设置了flink-s3-fs-presto-1.6.2,并且正确运行了以下代码。问题仅限于OrcTableSource。

DataSet> orderinfoSet =

env.readCsvFile("s3://orders/so.csv")
    .types(String.class, String.class, String.class
            ,String.class, String.class);
Java 对象存储
分享到
取消 提交回答
全部回答(1)
  • flink小助手
    2019-07-17 23:20:37

    问题是Flink OrcRowInputFormat使用两个不同的文件系统:一个用于生成输入分割,另一个用于读取实际的输入分割。对于前者,它使用Flink的FileSystem抽象,而后者则使用Hadoop FileSystem。因此,您需要配置Hadoop的配置core-site.xml以包含以下代码段


    fs.s3.impl
    org.apache.hadoop.fs.s3a.S3AFileSystem

    这是Flink的限制,应该修复OrcRowInputFormat。

    0 0
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题