从 AWS s3 存储桶读取镶木地板数据
2022-09-03 07:49:40
我需要从 aws s3 读取镶木地板数据。如果我使用aws sdk来做到这一点,我可以得到这样的输入流:
S3Object object = s3Client.getObject(new GetObjectRequest(bucketName, bucketKey));
InputStream inputStream = object.getObjectContent();
但是apache Parquet阅读器只使用这样的本地文件:
ParquetReader<Group> reader =
ParquetReader.builder(new GroupReadSupport(), new Path(file.getAbsolutePath()))
.withConf(conf)
.build();
reader.read()
所以我不知道如何解析镶木地板文件的输入流。例如,对于csv文件,有CSVParser使用输入流。
我知道使用火花来实现这个目标的解决方案。喜欢这个:
SparkSession spark = SparkSession
.builder()
.getOrCreate();
Dataset<Row> ds = spark.read().parquet("s3a://bucketName/file.parquet");
但我不能使用火花。
谁能告诉我从s3读取镶木地板数据的任何解决方案?