0
嗨,我有一個問題,從S3讀取文件與DataFrameReader 我能夠讀取完全相同的文件,當它在本地 ,但是當它存儲在s3我無法讀取它,這裏是我的代碼用DataFrameReader從S3讀取文件
private SparkSession getSparkSession() {
return sparkSessionService.getTransformedCsvSparkSession();
}
public void processFile(StructType structType, String srcFile, String targetFile) {
//"s3n://yourAccessKey:[email protected]/path/
String spark = new String("s3n://TTTTTTTT:[email protected]/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讀取?
上斜線有沒有在您的AWS「/」訪問密鑰或祕密密鑰?這會混淆火花。您可以從spark上下文獲取hadoop配置並在那裏設置鍵。確切的選項名稱取決於您使用的火花版本。 –
不,沒有,我如何「拆分」桶/路徑/實際文件名? –
正在正確分割存儲桶,路徑和文件名。 –