在配置單元中有一個外部表,指向未分區的s3位置。該表指向s3中的文件夾,但數據位於該文件夾內的多個子文件夾中。從未分區的配置單元表的子文件夾中獲取數據到spark中的數據框中
這個表可以即使該表不是由象下面蜂房設置幾個屬性分配進行查詢, set hive.input.dir.recursive=true;
set hive.mapred.supports.subdirectories=true;
set hive.supports.subdirectories=true;
set mapred.input.dir.recursive=true;
然而,當相同的表在火花用於加載數據使用sql語句(如df = sqlContext.sql("select * from table_name")
)轉換爲數據幀,但操作失敗,說'The subfolders in the external s3 location is not a file'
。
我嘗試使用sc.hadoopConfiguration.set("mapred.input.dir.recursive","true")
方法設置火花以上配置單元屬性,但它沒有幫助。看起來像這隻會幫助sc.textFile種加載。