开发者社区> 问答> 正文

OrcTableSource是否支持S3文件系统?

我使用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);

展开
收起
flink小助手 2018-12-13 14:18:38 2740 0
1 条回答
写回答
取消 提交回答
  • flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。

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


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

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

    2019-07-17 23:20:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载