У меня возникают проблемы с использованием OrcTableSource для извлечения файла Orc из облачного хранилища объектов (IBM COS), фрагмент кода приведен ниже:
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: файл /so.orc не существует в org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus (RawLocalFileSystem.java:611) вorg.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal (RawLocalFileSystem.java:824) в org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus (RawLocalFileSystem.java:601) в org.apacheFileFFFilterFileSystem.java:428) в org.apache.hadoop.fs.ChecksumFileSystem $ ChecksumFSInputChecker. (ChecksumFileSystem.java:142) в org.apache.hadoop.fs.ChecksumFileSystem.open (ChecksumFileSystem.java:apache. At.)hadoop.fs.FileSystem.open (FileSystem.java:768) в org.apache.orc.impl.ReaderImpl.extractFileTail (ReaderImpl.java:528) в org.apache.orc.impl.ReaderImpl. (ReaderImpl.java:370).) в org.apache.orc.OrcFile.createReader (OrcFile.java:342) в org.apache.flink.orc.OrcRowInputFormat.open (OrcRowInputFormat.java:225) в org.apache.flink.orc.OrcRowInputFormat.open (OrcRowInputFormat.java:63) в org.apache.flink.runtime.operators.DataSourceTask.invoke (DataSourceTask.java:170) в org.apache.flink.runtime.taskmanager.Task.run (Task.java:711) на java.lang.Thread.run (Thread.java:748)
Кстати, я уже настроил flink-s3-fs-presto-1.6.2 и получил следующеекод работает правильно.Вопрос ограничен только OrcTableSource.
DataSet<Tuple5<String, String, String, String, String>> orderinfoSet =
env.readCsvFile("s3://orders/so.csv")
.types(String.class, String.class, String.class
,String.class, String.class);