使用DataFrameReader从S3读取文件

时间:2017-02-09 14:51:50

标签: 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

我如何&#34;告诉&#34;要从AWS S3读取的DataFrameReader吗?

1 个答案:

答案 0 :(得分:2)

在存储桶名称之前不应该有斜杠,可以在文件路径上使用斜杠