java - 使用 DataFrameReader 从 S3 读取文件

标签 java amazon-web-services apache-spark amazon-s3 databricks

您好,我在使用 DataFrameReader 从 S3 读取文件时遇到问题 我能够在本地读取完全相同的文件 但是当它存储在 s3 上时我无法读取它,这是我的代码片段

private SparkSession getSparkSession() {
    return  sparkSessionService.getTransformedCsvSparkSession();
}

public void processFile(StructType structType, String srcFile, String targetFile) {
    //"s3n://yourAccessKey:yourSecretKey@/path/
    String spark = new String("s3n://TTTTTTTT:YYYYYYY@/bucket-qa1/test/123456785_Ads_mockup_.csv");
    Dataset<Row> dfSpark = getSparkSession().read().format("csv").schema(structType).option("header", srcIncludeHeader).load(spark);
    dfSpark.show();

但是我收到了这个错误:

java.lang.IllegalArgumentException: Invalid hostname in URI s3n://.....

我正在使用DataBrics:

如何“告诉”DataFrameReader 从 AWS S3 读取数据?

最佳答案

存储桶名称前不能有斜杠,文件路径上可以有斜杠

关于java - 使用 DataFrameReader 从 S3 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42139821/

相关文章:

java - Oracle getConnection 慢

java线程不同的流

Java Spring Hibernate 应用程序在本地运行,但不在 aws 的 ecs docker 中

scala - 使用 FlatMap 使用 Spark 和 Scala 将列名称附加到元素

java - 带有空对象的 JPA 查询

java - 合并排序错误的输出

scala - 使用 Spark 和 scala 编写 CSV 文件 - 空引号而不是空值

java - 使用 spark JAVA API takeOrdered 方法出错

amazon-web-services - Cloudfront HIT 后 Cloudfront MISS

amazon-web-services - AWS ELB 自动扩展 CPU 利用率 > 90% - 不断创建/终止实例